本帖最后由 artsharp 于 2010-6-8 09:06 编辑
XCache是一种新的php缓存器,经过测试,在Windows下效果比同类软件强很多。
实际测试效果如下(非科学方法):
原网页平均执行时间:0.13 秒 加速后网页平均执行时间:0.03秒 原CPU占用率:15% - 60% 加速后CPU占用率:3% - 30%
可以看出,使用这个加速器可以很大程度的降低CPU占用(但会造成更多的内存占用),并使网页执行时间缩短。具体原理不介绍了,网上有很多。
由于其他同类软件对Windows的支持不够好,所以选用XCache是Windows主机的不二之选。
解压Xcache,把php_xcache.dll放在php.ini中指定extension_dir中(本例为"D:\php\ext)。
下面开始配置,打开php.ini。
添加(记得是添加,不要更换原来的zend_extension_ts参数) zend_extension_ts = "($extension_dir)\php_xcache.dll"
如果没有配置环境变量,需要把($extension_dir)替换成绝对路径。
添加以下项到php.ini末尾,可以直接复制以下配置...
[xcache.admin] xcache.admin.enable_auth = Off xcache.admin.user = "Cnitpub" xcache.admin.pass = "Cnitpub" [xcache] xcache.shm_scheme = "mmap" xcache.size = 64M xcache.count = 4 xcache.slots = 64K xcache.ttl = 1800 xcache.gc_interval = 1800 xcache.var_size = 8M xcache.var_count = 4 xcache.var_slots = 64K xcache.var_ttl = 0 xcache.var_maxttl = 0 xcache.var_gc_interval = 300 xcache.test = Off xcache.readonly_protection = Off xcache.mmap_path = "xcache" xcache.coredump_directory = "" xcache.cacher = On xcache.stat = Off xcache.optimizer = Off [xcache.coverager] xcache.coverager = Off xcache.coveragedump_directory = ""
需要修改的值已经用蓝色标出,说明如下:
xcache.admin.enable_auth XCache后台是否需要验证(这个后台在刚才下载的XCache的admin目录中,可以*处理,如不需要请设置成Off) xcache.admin.user XCache后台登陆用户名 xcache.admin.pass XCache后台登陆密码 xcache.size XCache的内存缓存大小,普通网站建议设置为64MB,如果是IDC服务器,可以设置成256MB xcache.count 设置为CPU的数量(双核算2个,比如我的是两个双核Xeon 3.0,就设置为4) xcache.var_size xcache.var_count 跟上两条一样 xcache.mmap_path 共享内存标识名,尽量用xcache,避免跟其它软件冲突 xcache.optimizer 优化器,如果没安装Zend可以开启,如果已经安装好Zend了,设置成Off
至此配置完毕,重新启动IIS即可。然后再次打开info.php,查找"XCache",如果找到相关XCache的信息,那代表配置正确。
如果查找不到,请尝试以下疑难解答中的第三点。
至于为什么不用extension,而用zend_extension_ts,因为这个发行版的xcache的接口是ZEND_API,直接用 extension无法初始化。
XCache疑难解答:
1.phpinfo()中显示没有加载php_xcache.dll 检查php_xcache.dll的NTFS权限是否正确,需要给网站用户(或者可以用Guests)只读权限。
2.出现php内存错误 使用了extension调用php_xcache.dll,请尝试使用zend_extension_ts。
3.打开网页没有响应,出现错误 Fatal error: [Zend Optimizer] Zend Optimizer *** is incompatible with XCache 1.2.2 这是因为安装了Zend导致,解决方法很简单,把调用php_xcache.dll的zend_extension_ts提到调用zend的前面。如: zend_extension_manager.optimizer_ts="D:\Program Files\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0" zend_extension_ts="C:\php\ext\php_xcache.dll" zend_extension_ts="C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\ZendExtensionManager.dll"
到此,XCache缓存器配置完毕。
官方下载:http://xcache.lighttpd.net/wiki/Release-1.2.2
|