mod_fcgid:无法为/ var / www / cgi-bin / cgi_wrapper / cgi_wrapper应用进程槽

时间:2011-12-28 02:13:37

标签: php linux apache fastcgi

我已迁移到新的更快的服务器。经过一些严肃的调整后,旧服务器正在处理网站,新服务器虽然额外增加2g内存(总共4个),但在经过2天的各种调整后对请求的响应非常慢。我在FastCGI模式下运行PHP,错误日志中包含以下错误:

mod_fcgid: can't apply process slot for /var/www/cgi-bin/cgi_wrapper/cgi_wrapper

和一些

mod_fcgid: read data timeout in 200 seconds
CPU徘徊在40%左右,大约有80个进程产生,站点速度超慢,我尝试调整fcgid.conf但无济于事:

LoadModule fcgid_module modules/mod_fcgid.so

<IfModule mod_fcgid.c>

<IfModule !mod_fastcgi.c>
    AddHandler fcgid-script fcg fcgi fpl
</IfModule>

  FcgidIPCDir /var/run/mod_fcgid/sock
  FcgidProcessTableFile /var/run/mod_fcgid/fcgid_shm

  FcgidIdleTimeout 200
  FcgidProcessLifeTime 1000
  FcgidMaxProcesses 5
  FcgidMaxProcessesPerClass 10
  FcgidMinProcessesPerClass 0
  FcgidConnectTimeout 8
  FcgidIOTimeout 200
  FcgidInitialEnv RAILS_ENV production
  FcgidIdleScanInterval 20
  FcgidMaxRequestsPerProcess 500
  FcgidBusyTimeout 300

</IfModule>

有什么建议吗?

编辑: 最佳结果

Tasks:  94 total,   1 running,  93 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us, 0.0%sy, 0.0%ni, 99.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   5379200k total,  1765840k used,  3613360k free,        0k buffers
Swap:        0k total,        0k used,        0k free,        0k cached

93睡觉????

1 个答案:

答案 0 :(得分:2)

经过长时间的争斗,我发现罪魁祸首是旧的PHP代码,它将处理速度降低到了超时的程度。特别是我发现使用<?而不是<?php标签并且包含在其他文件中的文件执行时间很长。一旦替换为正确的<?php。我还降级了PHP版本5.2.17,以避免大量关于弃用函数的通知和警告。之后,服务器开始飞行并且错误停止了。