我们有一个PHP-CGI的标准lighttpd部署,我们的错误日志充斥着以下内容。 这导致了一个巨大的问题,因为我们不断向客户返回500的:
2012-10-14 14:28:38: (mod_fastcgi.c.3001) backend is overloaded; we'll disable it for 1 seconds and send the request to another backend instead: reconnects: 0 load: 36 2012-10-14 14:28:38: (mod_fastcgi.c.2764) fcgi-server re-enabled: 0 /tmp/php-7735.socket 2012-10-14 14:28:39: (mod_fastcgi.c.2764) fcgi-server re-enabled: 0 /tmp/php-7735.socket 2012-10-14 14:28:40: (mod_fastcgi.c.3001) backend is overloaded; we'll disable it for 1 seconds and send the request to another backend instead: reconnects: 0 load: 37 2012-10-14 14:28:40: (mod_fastcgi.c.2764) fcgi-server re-enabled: 0 /tmp/php-7735.socket 2012-10-14 14:28:41: (mod_fastcgi.c.3001) backend is overloaded; we'll disable it for 1 seconds and send the request to another backend instead: reconnects: 0 load: 57 2012-10-14 14:28:41: (mod_fastcgi.c.3001) backend is overloaded; we'll disable it for 1 seconds and send the request to another backend instead: reconnects: 0 load: 57 2012-10-14 14:28:42: (mod_fastcgi.c.3597) all handlers for /index.php? on .php are down.
有没有人有任何线索,是怎么回事? 我们重新启动所有的PHP和lighttpd相关的进程,并没有解决这个问题。 我们结束了重新启动整个盒子,现在它消失了,虽然我们担心它可能会回来….
总的来说,我们的部署一直很好,这是第一次发生。
这基本上意味着所有的PHP进程正忙于处理请求,并没有免费的PHP进程可用来处理新的传入的请求。 这导致500错误。
通常这意味着你正在运行的php代码很慢,淹没了php进程。 尝试启用你的mysql慢日志,看看是否慢速查询是罪魁祸首,尝试php操作码caching,如APC加快了一点。