eAccelerator 给我们带来的好处

网络整理 - 07-27

之前朋友推荐我用 eAccelerator ,后来用了,虽然确实起到加速的作用了,但是一直也没有很在意它。

今天看到其他的一些资料,蛮推荐使用eAccelerator 的。今天再留意下服务器的运行情况。发现了一些问题。

在使用 eAccelerator 之前,CPU占用经常在50%左右。那时候环境是: FreeBSD 4.11 + Apache 2.0.59 + php 5.1.5 + Squid 2.5 。

使用 eAccelerator 之后,CPU占用有所下降,在40%左右。后来升级Squid 2.5到Squid 2.6后,CPU 下降到20%左右。由于Squid 2.6在FreeBSD采用 Kqueue支持,所以对CPU消耗下降了。另外COSS的性能提高,对CPU消耗也有所改善。

经过上面的优化和升级后,CPU使用情况,维持在10-20%左右。

今天再仔细看看eAccelerator 的运行情况,发现内存使用已经是100%,只分配了16M内存来做缓存,只能缓存600个文件左右。

于是今天将内存设置为32M,运行10分钟后,内存使用100%,缓存了1000个文件左右。而对CPU占用也有所下降,现在CPU在6-10%左右。

由此可见,如果有大内存,设置更多内存给 eAccelerator ,对性能优化有更大的帮助的。

下面是eAccelerator 和zend_optimizer 的设置:

zend_extension="/opt/modules/php/lib/php/extensions/no-debug-non-zts-20050922/eaccelerator.so"
eaccelerator.shm_size="32"
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"

[Zend]
zend_optimizer.optimization_level=15
zend_extension_manager.optimizer=/opt/modules/php/Zend/lib/Optimizer-2_6_0
zend_extension_manager.optimizer_ts=/opt/modules/php/Zend/lib/Optimizer_TS-2_6_0
zend_optimizer.version=2.6.0
zend_extension=/opt/modules/php/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/opt/modules/php/Zend/lib/ZendExtensionManager_TS.so