如何优化lighttpd的php+fastcgi配置

本篇文章主要是翻译、摘要Jan的Fastcgi Performance,有兴趣的同学可以阅读原文。

在error.log看到“(mod_fastcgi.c.2866) backend is overloaded, we disable it for a 2 seconds and send the request to another backend instead: reconnects: 3 load: 4147 /tmp/php.socket”时,说明lighttpd+fastcgi的load较高了。

可按如下步骤优化:

1) 首先检查swap使用情况。如果使用了swap,一般说明php进程数偏多,适当减少php进程。调整max-procs和PHP_FCGI_CHILDREN的数值,根据公式num-procs = max-procs * ( 1 + PHP_FCGI_CHILDREN ),启动时php5进程大概占13M内存,如果num-procs超过200,高峰期php就会占去2G内存,不大合适

2) 安装PHP加速软件。XCache, eAcceleratorZend Optimizer。推荐公开源代码的XCache, eAccelerator

3) 调整Keep Alive参数。对于动态程序来说,Keep Alive的意义不大,可以关闭。
server.max-keep-alive-requests = 0

4) 优化程序代码。呵呵,一般也是最有效的;)

Keywords: , , ,


8 Responses to “如何优化lighttpd的php+fastcgi配置”  

  1. 1 is

    eAccelerator老早就用过,这次怎么也应该用XCache整了看看阿,好像还和lighttpd是一家的阿。

  2. 2 Q

    XCache 对PHP5的支持还不行,对PHP4的支持不错,而且比eAccelerator简单,速度掩盖更快

  3. 3 tbao

    呵呵,代码优化还是最有效的,现在我们的破站没问题了

  4. 4 fcicq

    apc好像原文中提了,你没提:)
    xcache现在兼容性还不错.

  5. 5 Q

    没太关注APC,PHP加速软件够用就行。

  6. 6 moo

    XCache 1.2-beta1 支持 php5.2 了
    1.0.x 系列的确对php4支持优于php5

  7. 7 moo

    XCache 1.2-beta1 支持php5.2 或者试试最新 trunk snapshot
    1.0.x 系列对php4支持的确优于对php5

  8. 8 cers

    请问在那里找的到linux下从源码安装以上软件的教程
    不太懂lighttpd 似乎很不错,但也有人说他的并发支持不如apache

Leave a Reply



天气信息