以前有印象的PHP缓存或者加速的东西只有mmcache,想装的时候发现这个在两三年前就停止开发了。相关的还有eAccelerator,Zend的一个套件什么的,看了一些别人的经验之谈,最后选择了eAccelerator。  

安装很简单,是预编译文件,作为php的扩展安装,二进制包在这里,针对PHP版本不同是不同的文件。

下载,复制到php的扩展目录,然后给php.ini扩展后大约在php_gzip.dll后面加上
引用

     extension=”eaccelerator.dll” ;扩展文件名
     eaccelerator.shm_size=”800″ ;分配的内存以及磁盘限额单位是M .
     eaccelerator.cache_dir=”C:\temp” ;临时文件目录,确保user权限
     eaccelerator.enable=”1″ ;开启缓存服务不?
     eaccelerator.optimizer=”1″ ;开启优化不?
     eaccelerator.check_mtime=”1″ ;检测文件更新不?
     eaccelerator.debug=”0″ ;调试不?
     eaccelerator.filter=”*.php” ;文件类型,空格分割支持*和!语法
     eaccelerator.shm_max=”." ;缓存文件大小限制0不限制,如1k,10M,20480
     eaccelerator.shm_ttl=”7200″
     eaccelerator.shm_prune_period=”3600″
     eaccelerator.shm_only=”0″
     eaccelerator.compress=”1″ 压缩不?
     eaccelerator.compress_level=”9″
     eaccelerator.keys = “shm”
     eaccelerator.sessions = “shm”
     eaccelerator.content = “shm”
     eaccelerator.admin.name=”name”
     eaccelerator.admin.password=”198554″;WEB控密码,md5 hash,然后把这行和上行的明文写在下行的脚本理
     eaccelerator.allowed_admin_path = “D:\www\xxx.com\ec.php”;WEB控脚本


shm那里,有下面几个可选的,shm_and_disk,内存和硬盘存储数据,shm内存优先超过eaccelerator.shm_size限制后使用硬盘,shm_only仅仅内存,disk_only仅仅硬盘,none不缓存  

程序中嵌套的说明在这里

本来想自己写缓存到硬盘的东西的,这样也不错了,mysql负载感觉是下降了。

没完全搞懂,有时间仔细看下手册,然后更新或者补充  

这个东西只是加速软件,缓存的是脚本代码,而非输出文本,我想要的东西叫squid,NT下也可以阿装,还没细致看,花了一个多小时优化mysql数据库,总算好了。出问题的数据库是dedecms0.8的表,自己写的前台,偷懒终究出问题,然后用Website press tool 测试,带宽跑完,CPU依旧很低,应该是没什么问题了。真正有时间,还是静态化好了。

效果比如:

     eAccelerator
     eAccelerator support enabled
     Version 0.9.5.1 Q
     Caching Enabled true
     Optimizer Enabled true
     Memory Size 838,860,760 Bytes
     Memory Available 835,595,488 Bytes
     Memory Allocated 3,265,272 Bytes
     Cached Scripts 70
     Removed Scripts 0
     Cached Keys 0

eAccelerator 是在 mmcache PHP 加速器/编码器的基础上更新开发的产品。下载地址:http://www.arnot.info/eaccelerator/ 它利用预先编译的缓存来提高PHP脚本的表现, 这样几乎可以完全避免超负荷编译带来的系统性能降低。 eAccelerator 的加速效果是非常明显的。昨天在一台繁忙的论坛服务器(使用vbb 2.x)测试了,速度有明显的提升,系统负荷大幅度降低。eAccelerator在Debian下安装很简单:

引用
zend_extension_ts="d:\websvr\php5\ext\eaccelerator.dll"  
eaccelerator.shm_size="64"                  
eaccelerator.cache_dir="d:\websvr\php5\tmp"  
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter = ""
eaccelerator.shm_max = "0"
eaccelerator.shm_ttl = "7200"
eaccelerator.shm_only = "1"
eaccelerator.compress = "1"
eaccelerator.compress_level = "3"
eaccelerator.keys = "shm_only"
eaccelerator.sessions    = "shm_only"
eaccelerator.content = "shm_only"


在这里您可以找到设置 php.ini 的相关细节.

引用
;extension="eaccelerator.so"
zend_extension="/usr/lib/php4/eaccelerator.so"
;zend_extension_ts="/usr/lib/php4/eaccelerator.so"
;extension="eaccelerator.dll"
;zend_extension_ts="c:php4eaccelerator.dll"
;zend_extension="c:php4eaccelerator.dll"


您必须取消一条注释 (而且同时只能是一条被取消) 以便使用下面的描述来装载 eAccelerator 的扩展.

eAccelerator 兼容于 Zend Optimizer’s loader. Zend Optimizer 在 eAccelerator 的安装结束进行后必须在 php.ini 中配置. 如果您不使用用脚本来编码的 Zend Encoder ,那么我们不推荐您安装成 Zend Optimizer 加上 eAccelerator 这种模式.
--------------------------------------------------------------------------------
eaccelerator.shm_size = "64"

eAccelerator 可以使用的共享内存的数量 (以兆为单位) . "0" 是指操作系统的默认值. 默认值是 "0".

--------------------------------------------------------------------------------
eaccelerator.cache_dir = "/tmp/eaccelerator"

这个目录是给磁盘缓存使用. eAccelerator 在这里储存预先编译好的代码, 进程数据, 内容以及用户的自定义内容. 同样的数据也能被储存在共享内存中 (这样可以提高访问速度). 默认的设置是 "/tmp/eaccelerator".

--------------------------------------------------------------------------------
eaccelerator.enable = "1"

打开或者关闭 eAccelerator. "1" 是指打开, "0" 是指关闭. 默认值是 "1".

--------------------------------------------------------------------------------
eaccelerator.optimizer = "1"

打开或者关闭内置的 peephole optimizer,它可以提高代码的执行速度. "1" 是指打开, "0" 是指关闭. 默认值是 "1".

--------------------------------------------------------------------------------
eaccelerator.debug = "0"

打开或者关闭调试记录. "1" 是指打开, "0" 是指关闭. 默认值是 "0".

--------------------------------------------------------------------------------
eaccelerator.check_mtime = "1"

打开或者关闭 PHP 的文件修改检查. "1" 是指打开, "0" 是指关闭. 如果您在修改以后重新编译 PHP 的文件,那么您应当设置为 "1". 默认值是 "1".

--------------------------------------------------------------------------------
eaccelerator.filter = ""

决定哪些 PHP 文件应该被缓存. 您可以指定一个范围 (比如 "*.php *.phtml"),这样被指定的文件就会被缓存或者被排出在外. 如果使用字符 "!" 来指定这个范围, 符合这个范围的文件就被排出在外. 默认值是 "" ,意思是说 - 所有的 PHP 脚本都会被缓存.

--------------------------------------------------------------------------------
eaccelerator.shm_max = "0"

利用 "eaccelerator_put()" 这个功能选项来关闭在共享内存中加载大量数据. 它指出最大的被允许的大小,以字节为单位 (10240, 10K, 1M). 使用 "0" 来关闭这个限制. 默认值是 "0".

--------------------------------------------------------------------------------
eaccelerator.shm_ttl = "0"

当 eAccelerator 尝试从共享内存中获得数据来创建新的脚本缓存但失败以后,它从共享内存中删除所有的至少在 "shm_ttl" 秒以前没有被访问的脚本。默认值是 "0" ,意思是说 - 不要从共享内存中删除任何文件.

--------------------------------------------------------------------------------
eaccelerator.shm_prune_period = "0"

当 eAccelerator 尝试从共享内存中获得数据来创建新的脚本缓存但失败以后,它尝试删除旧的脚本,前提是在这之前的这个尝试在超过 "shm_prune_period" 秒之前被执行. 默认值是 "0" ,意思是说 - 不要尝试从共享内存中删除任何文件.

--------------------------------------------------------------------------------
eaccelerator.shm_only = "0"
打开或者关闭在磁盘上缓存编译过的脚本. 这个参数对会话数据和内容缓存没有效果. 默认值是 "0" ,意思是说 - 使用磁盘和共享内存来缓存。

--------------------------------------------------------------------------------
eaccelerator.compress = "1"

打开或者关闭缓存后的内容压缩. 默认值是 "1" ,意思是说打开压缩.

--------------------------------------------------------------------------------
eaccelerator.compress_level = "9"

内容缓存后被压缩的程度. 默认值是 "9" ,意思是说使用最大程度的压缩率。

--------------------------------------------------------------------------------
eaccelerator.keys = "shm_and_disk"
eaccelerator.sessions = "shm_and_disk"
eaccelerator.content = "shm_and_disk"

决定哪些 keys, 会话数据和内容被缓存. 可能的值是:

"shm_and_disk", 在共享内存中和磁盘上缓存数据 (默认值)
"shm", 在共享内存中或者磁盘上缓存数据,如果共享内存被使用的尺寸已经超过 "eaccelerator.shm_max" 所定义的范围。
"shm_only", 在共享内存中缓存数据
"disk_only", 在磁盘上缓存数据
"none", 不缓存任何数据
-------------------------------------------------------------------------------
eaccelerator.admin.name="yourusername"
eaccelerator.admin.password="yourpassword"

您可以使用 eaccelerator.php 通过网页的页面来管理 eAccelerator. 您应该把这个文件放在您的网站上. 为了安全,推荐您不要通过您本地的IP地址来访问这个脚本。

创建 eAccelerator 的密码

php -q eaccelerator_password.php
改变网页页面方式访问 (eaccelerator.php)这个文件的访问密码

Enter admin name: admin
New admin password: eaccelerator
Retype new admin password: eaccelerator

            


作者:gdgzboy@牛C网
地址:http://www.niuc.net/post/291/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!



评论(0) | 引用(0) | 阅读(549)
发表评论
昵称 [注册]
密码 游客无需密码
网址
电邮
打开HTML 打开UBB 打开表情 隐藏 记住我