lighttpd:后端过载 + fcgi 服务器重新启用 + 所有处理程序均已关闭

lighttpd:后端过载 + fcgi 服务器重新启用 + 所有处理程序均已关闭

我们有一个使用 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 相关的进程,但问题并没有解决。我们最终重新启动了整个盒子,现在问题已经解决了,尽管我们担心它稍后可能会再次出现……

总体来说,我们的部署长期以来一直运行良好,这是第一次发生这种情况。

答案1

这基本上意味着所有 php 进程都在忙于处理请求,没有可用的 php 进程来处理新传入的请求。这会导致 500 错误。

通常这意味着您正在运行的 php 代码很慢,导致 php 进程拥堵。尝试启用 mysql 慢速日志以查看慢速查询是否是罪魁祸首,尝试使用 php 操作码缓存(如 APC)来加快速度。

相关内容