Nginx won't send FIN ACK to PHP-FPM

Hey,

I have Rest API server powered by Nginx and PHP-FPM. Each API call
produces
several CURL requests.

The script that executes the API calls, also utilizes CURL. I use curl
multi
exec, with 1,000 threads. All the setup creates a little bit less than
10K
sockets.

Anyway, here is the problem…

The script that executes the API calls, let’s say 3,000 on 1K threads.
It
takes around 170 secs to finish processing all those API calls. However,
when the main script tries to return a response to the browser and
initiate
a FIN_WAIT it takes 8 minutes until everything is returned to the
browser.

Here is how it looks:
http://d.pr/i/1WkI

My theory is that it happens because Nginx puts the worker somehow on
hold
or something like that. This was the first worker in the chain of
workers.
There is no data being transferred since the worker initiated the
request to
PHP-FPM.

Any ideas what should I do?

Thanks.

Posted at Nginx Forum:

Hello!

On Mon, Aug 27, 2012 at 08:46:43AM -0400, dantes wrote:

There is no data being transferred since the worker initiated the request to
PHP-FPM.

Any ideas what should I do?

I would recommend to obtain debug log and show us nginx -V, full
config and debug log, much like Debugging | NGINX
suggests.

Maxim D.