Nginx won't send FIN ACK to PHP-FPM

Maxim Dounin mdounin at mdounin.ru
Sat Sep 1 10:26:32 UTC 2012


Hello!

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

> 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?

I would recommend to obtain debug log and show us nginx -V, full 
config and debug log, much like http://wiki.nginx.org/Debugging 
suggests.

Maxim Dounin



More information about the nginx mailing list