php-cgi导致CPU占用过高,xcache改为eAccelerator
top – 03:24:58 up 4 days, 31 min, 1 user, load average: 1.32, 0.82, 1.71
Tasks: 42 total, 3 running, 39 sleeping, 0 stopped, 0 zombie
Cpu(s): 34.3%us, 65.7%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 524800k total, 317872k used, 206928k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 0k cached
突然发现早上两三点的时候CPU一直是100%,白天就好了,现在还不知道怎么解决
相关日志
上一篇:windows xp sp2升级到sp3下一篇:20101021
最近出现了PHP程序执行很慢的现象,网站几乎不能访问,不过CPU占用却不高。查看了很多资料,判断为xcache自身的问题。
经过测试:xcache速度很快,但是容易出现运行时间长后死掉的问题;eAccelerator速度也不错,并且很稳定;APC (Alternative PHP Cache) 据说也是不错的,但是我测试的时候总是出现404的错误,不知道是不是和zend冲突了。
现在换掉了xcache,改用eAccelerator,问题是解决了,再观察几天,看看效果怎样。
eAccelerator安装和配置步骤如下:
eAccelerator 模块安装
cd /tmp
wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.zip
unzip eaccelerator-0.9.6.1.zip
cd eaccelerator-0.9.6.1
/usr/local/php/bin/phpize
./configure –enable-eaccelerator=shared –with-php-config=/usr/local/php/bin/php-config
make
make install
mkdir /tmp/eaccelerator
chmod 777 /tmp/eaccelerator
安装完会在 /usr/local/php/lib/php/extensions/no-debug-non-zts-*/下产生一个eaccelerator.so
php.ini配置
vi /usr/local/Zend/etc/php.ini
改 short_open_tag = Off为 short_open_tag = On
改 max_execution_time = 30为 max_execution_time = 60
改 upload_max_filesize = 2M为 upload_max_filesize = 8M
增加时区设置:date.timezone = Asia/Chongqing
将以下注释打开 cgi.fix_pathinfo=0
(*可能导致错误)改 magic_quotes_gpc = Off 为 magic_quotes_gpc = On
改;extension_dir = “./”为
extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/”
后面为刚才 memcache.so生成文件所在位置
在末尾 Zend之前插入:
extension=memcache.so
extension = eaccelerator.so
eaccelerator.shm_size=”256″ (这个参数的单位是M,是可以使用的共享内存的数量,不能超过系统/etc/sysctl.conf里的kernel.shmmax的大小)
eaccelerator.cache_dir=”/tmp/eaccelerator”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=”"
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”0″
eaccelerator.shm_prune_period=”0″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″