I have a website made with Codeigniter, running on Ubuntu with Nginx and PHP-FPM. It worked fine till last night, when it started loading pages really slow, sometimes giving 504, other times loading pages fast.
If I restart nginx or php-fpm, the site works fine for 20-30 seconds, then the problem occur again.
Here's what nginx error log says:
[error] 25226#25226: *65 upstream timed out (110: Connection timed out) while reading response header from upstream, client: X.X.X.X, server: www.mydomain.ext, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php5.6-fpm.sock:", host: "www.mydomain.ext"
I've been googling and playing around with nginx and php-fpm config for the last few hours, but I couldn't solve it.
Does anyone know how to help me?
To me it looks like a problem with the FPM process management. See this link for more information. It's seems like you have static number of processes available for php-fpm and traffic is exceeding it. I was facing similar issues, but I don't remember if this was the exact error message back then. But the behavior was like you explained, some connections were really slow (Waiting for fpm?) other were returning 504.
UPDATE:
To confirm my theory you should check the file /etc/php5.6/pool.d/www.conf
and check this line:
pm.max_children = X
Increase the number and restart fpm. Then see if problem is solved.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With