我收到以下警告:
mod_fcgid:无法应用进程槽 的/ var / WWW /的cgi-bin / cgi_wrapper / cgi_wrapper
一旦出现此警告,服务器CPU就会上升到97% - 101%
服务器每天获得大约140K的综合浏览量。此警告主要出现在11:00-12:00左右 除了通过Google Analytics计算的140K综合浏览量外,它还会向第三方网站发出请求,这些网站会在其网站上显示文字广告。大约2700个网站正在显示一个广告,并且每小时共向服务器发出22139个请求。
我试过:chmod 755 /var/log/httpd
但/ var / log
我尝试将MaxSpareServers和MaxClients调整为任何可能的高值。但根本没有效果。在Apache重新启动之后,它似乎很好一段时间(服务器仍然响应有点慢并且警告不再出现在日志文件中)。但过了一会儿,同样的警告出现了,CPU再次升起。
如果有人有建议,请告诉我,谢谢大家。
答案 0 :(得分:31)
此警告告诉您FastCGI进程池已用尽,并且它具有FcgidMaxProcesses的全局限制和每个脚本限制FcgidMaxProcessesPerClass(请参阅http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#fcgidmaxprocesses)。
可以使用以下信息调整此池的大小:
在任何情况下,FcgidMaxProcesses(1000)的默认值都是令人发指的。你跑一个哑巴'ab -c100 -n10000
为了确定,让我用另一种方式说明:“无法应用进程槽”错误是正常错误,因为您的服务器具有固定数量的资源,这些限制可能会受到影响。如果你把这个限制推到高位。对于您的服务器资源,警告可能永远不会再出现,但您的服务器将在负载下崩溃。
而BTW,MaxSpareServers和MaxClients与您的问题无关,它们管理Apache进程池,而不是FastCGI进程池。这是另一个话题。