欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

XCache在Win2003 IIS6下的成功配置方法与疑难解答

程序员文章站 2022-05-11 21:37:51
xcache是一种新的php缓存器,经过本人测试,在windows下效果比同类软件强很多。 实际测试效果如下(非科学方法): 原网页平均执行时间: 0.13 秒 加速后网页...
xcache是一种新的php缓存器,经过本人测试,在windows下效果比同类软件强很多。

实际测试效果如下(非科学方法):
原网页平均执行时间: 0.13 秒
加速后网页平均执行时间: 0.03秒
原cpu占用率: 15% - 60%
加速后cpu占用率: 3% - 30%


由上数据可以看出,使用这个加速器可以很大程度的降低cpu占用(但会造成更多的内存占用),并使网页执行时间缩短。

由于其他同类软件对windows的支持不够好,所以选用xcache。

网上很多说明都不够详细,所以给大家写一篇。

安装与配置

首先下载xcache,网址为:
下载地址:http://xcache.lighttpd.net/wiki/release-1.2.2

需要下载跟你php版本匹配的binaries for windows。

下载后解压,把php_xcache.dll放在php.ini中指定extension_dir中

下面开始配置,打开php.ini。

添加(记得是添加,不要更换原来的zend_extension_ts参数)
zend_extension_ts = "($extension_dir)\php_xcache.dll"

本人配置的时候,把($extension_dir)替换成绝对路径才行的。

(为什么不用extension,一会再说)

添加

[xcache.admin]
xcache.admin.enable_auth = off
xcache.admin.user = "username"
xcache.admin.pass = "password"
[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目录中,可以*处理)
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可以开启。

至此配置完毕,重新启动iis即可。

至于为什么不用extension,而用zend_extension_ts,因为这个发行版的xcache的接口是zend_api,直接用extension无法初始化。

疑难解答

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="c:\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"

4、有待补充
由于xcache官方很长时间没有更新,最近很多朋友开始用memcache,大家可以参考下。