您的位置:首页 > 编程语言 > PHP开发

windows环境下php使用Xcache前后的性能对比

2013-07-15 10:06 441 查看
windows7+apache2.21+php5.2.17+Xcache3.0

具体性能测试用的是apache自带的ab工具,以下是截图:测试的index.php是一个首页,其中主要是连接数据库的操作:



使用xcache之后的效果:



具体的php.ini文件中对于xcache的配置

extension = php_xcache.dll

[xcache.admin]

xcache.admin.enable_auth = On

xcache.admin.user = "mOo"

; xcache.admin.pass = md5($您的密码)

; 登录使用 $your_password

xcache.admin.pass = ""

[xcache]

; ini only settings, all the values here is default unlessexplained

; select low level shm/allocator scheme implemenation

xcache.shm_scheme= "mmap"

; to disable: xcache.size=0

; to enable : xcache.size=64M etc (any size > 0) andyour system mmap allows

xcache.size = 60M

; set to cpu count (cat /proc/cpuinfo |grep -c processor)

xcache.count= 1

; just a hash hints, you can always store count(items)> slots

xcache.slots= 8K

; ttl of the cache item, 0=forever

xcache.ttl = 0

; interval of gc scanning expired items, 0=no scan, other values isin seconds

xcache.gc_interval= 0

; same as aboves but for variable cache

xcache.var_size = 4M

xcache.var_count= 1

xcache.var_slots= 8K

; default value for $ttl parameter of xcache_*() functions

xcache.var_ttl = 0

; hard limit ttl that cannot be exceed by xcache_*() functions.0=unlimited

xcache.var_maxttl = 0

xcache.var_gc_interval= 300

; mode:0, const string specified by xcache.var_namespace

; mode:1, $_SERVER[xcache.var_namespace]

; mode:2, uid or gid (specified by xcache.var_namespace)

xcache.var_namespace_mode= 0

xcache.var_namespace= ""

; N/A for /dev/zero

xcache.readonly_protection = Off

; for *nix, xcache.mmap_path is a file path, not directory. (autocreate/overwrite)

; Use something like "/tmp/xcache" instead of "/dev/*" if you wantto turn on ReadonlyProtection

; different process group of php won't share the same/tmp/xcache

; for win32, xcache.mmap_path=anonymous map name, not filepath

xcache.mmap_path= "/tmp/xcache"

; leave it blank(disabled) or "/tmp/phpcore/"

; make sure it's writable by php (open_basedir is notchecked)

xcache.coredump_directory = ""

; disable cache after crash

xcache.disable_on_crash= Off

; enable experimental documented features for each release ifavailable

xcache.experimental= Off

; per request settings. can ini_set, .htaccess etc

xcache.cacher= On

xcache.stat = On

xcache.optimizer= Off

[xcache.coverager]

; enabling this feature will impact performance

; enabled only if xcache.coverager == On&& xcache.coveragedump_directory =="non-empty-value"

; per request settings. can ini_set, .htaccess etc

; enable coverage data collecting andxcache_coverager_start/stop/get/clean() functions

xcache.coverager= Off

xcache.coverager_autostart = On

; set in php ini file only

; make sure it's readable (open_basedir is checked) by coverageviewer script

xcache.coveragedump_directory = ""

从结果对比上来看,性能提升惊人呢,足足有10倍呢,实际环境如果也是这样的话,那就太好了.

装上xcache3.0之后发现网站打不开了,报出的错误是:

Debugger compile handler overriden, cannot continue

具体原因是:

xcache与zend debugger冲突,不过也有解决办法的。

将zend_debugger.expose_remotely=allowed_hosts或是allways 这一行注释掉

[zend dubugger]

zend_extension_ts="D:\PHP\ext\ZendDebugger.dll"

zend_debugger.allow_hosts=127.0.0.1

;zend_debugger.expose_remotely=allowed_hosts

另外xcache与zend Optimizer的ZendExtensionManager.dll也冲突,建议不要使用。

看来zend公司的产品也很挑剔啊,使用了zend gurad产品或zendOptimizer如果想装php优化器的话看来只能装APC了,之前装过windows版的eaccelerator优化器,发现大并发大访问量的时候直接会导致apache停止,所以也是不能使用的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: