有些网站是可访问的,但另一些网站则返回503个服务不可用错误(如果我等待足够长的时间等待响应)。它在这个主机上有很多很多域是不可访问的。这是一个有1000个域的服务器。它运行良好,但偶尔缓慢,直到我们切换到FastCGI。然后,它加快了速度,但随后许多网站无法访问。在我们拥有的另外两个服务器上,FastCGI在1000个域上运行良好,我无法确定这个配置有什么不同。
这是CentOS 5。在/etc/httpd/log/error_log中,我反复看到这些条目。也许他们能给我提供线索,知道我需要做什么?
[warn] [client 50.50.50.50] mod_fcgid: can't apply process slot for /home/example/public_html/example.com/index.php
[warn] mod_fcgid: too much processes, please increase FCGID_MAX_APPLICATION
[error] [client 50.50.50.50] Premature end of script headers: index.php
[warn] [client 50.50.50.50] mod_fcgid: read data timeout in 400 seconds我们的/etc/httpd/conf/php.conf显示了这种安排:
# Fastcgi configuration for PHP5
LoadModule fcgid_module modules/mod_fcgid.so
MaxRequestsPerProcess 1000
#FcgidMaxProcesses 100
#FcgidProcessLifeTime 60
MaxProcessCount 500
IPCCommTimeout 400
IdleTimeout 400
ProcessLifeTime 60
#DefaultMinClassProcessCount 120
AddHandler fcgid-script .php5 .php4 .php .php3 .php2 .phtml
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .php5
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .php4
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .php
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .php3
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .php2
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .phtml发布于 2010-07-17 00:08:13
通过识别服务器负载瓶颈,解决进程时隙错误。在我的例子中,它是磁盘I/O,我通过在web目录上运行这个命令来修正这个问题。在这种情况下,所有网站都在/home上:
chattr +A /home
然而,在你这样做之前,要注意其后果:
http://tldp.org/LDP/solrhe/Securing-Optimizing-Linux-RH-Edition-v1.3/chap6sec73.html
和
http://en.wikipedia.org/wiki/Stat_%28 28Unix%29
注意,chattr只对现有文件起作用。更新的文件将不会接收此属性,除非您重新运行chattr。如果您在另一个分区上承载了/home,那么您可以编辑/etc/fstab并在该分区上添加noatime参数。
您还可以有一个cron作业,每隔一段时间在您的/tmp文件夹上运行chattr,以加快类似于/tmp页面执行(通常在/tmp中缓存)之类的操作。
关于"警告 mod_fcgid:太多的进程,请增加FCGID_MAX_APPLICATION“的另一个错误--这似乎是一个提交给Apache FastCGI团队的错误。有些人通过从最新代码中重新编译源代码来修复它。有些人通过注释掉C源文件中的错误并重新编译来修复它。
https://serverfault.com/questions/160165
复制相似问题