eAccelerator模块,以及测试比较 php

张映 发表于 2010-02-08

分类目录: cache, php

标签:, ,

一,eAccelerator是什么?有什么用?

eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍;

二,eAccelerator安装及配置

具体安装方法,请参考

http://blog.51yip.com/php/177.html

vi /usr/local/php/lib/php.ini

zend_extension="eaccelerator.so"

[eaccelerator]

eaccelerator.shm_size="32" 注:共享内存大小;
eaccelerator.cache_dir="/var/ecache" 注:缓存目录;
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"

配置好后,重起apache或者其他,到phpinfo()里面看一下

eAccelerator

eAccelerator support enabled
Version 0.9.5.3
Caching Enabled true
Optimizer Enabled true
Memory Size 33,554,396 Bytes
Memory Available 17,141,280 Bytes
Memory Allocated 16,413,116 Bytes
Cached Scripts 216
Removed Scripts 0
Cached Keys 0

已安装成功。随便点二个php看一下效果,没觉得有多快。哈哈。

eaccelerator.cache_dir="/var/ecache" 注:缓存目录;

到这个目录下面看看,里面到底有什么东西

会产生十六进制的文件夹。

三,有无eAccelerator的比较

1),测试的php文件

<?php
$con = mysql_connect("localhost","dbadmin","********");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("test", $con);
mysql_query('set names utf8');

$result = mysql_query("SELECT * FROM test3");

while($row = mysql_fetch_array($result))
{
echo $row['a3'] . "+" . $row['aaa'];
echo "<br />";
}

mysql_close($con);
?>

2),有eAccelerator模块的结果

3),eAccelerator模块的结果

个人觉得没有多大的差别,这个只是测试,因为文件自身的写法简单,所用数据表数据少,这也许是没有什么差别的原因。但是要达到多少倍,我看难。



转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/php/172.html