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停止,所以也是不能使用的。
具体性能测试用的是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停止,所以也是不能使用的。
相关文章推荐
- windows环境PhpStorm中简单使用PHP_CodeSniffer规范php代码
- PHP使用Pear发送邮件-Windows环境
- PHP环境配置:Windows下AppServ配置与安装使用教程
- Windows 下 PHP 开发环境配置系列二(使用 MODx CMS)
- 在生产环境中使用php性能测试工具xhprof
- PHP使用pear实现mail发送功能 windows环境下配置pear
- PHP下安装及使用Redis扩展(Windows环境)
- 使用XAMPP快速搭建windows下PHP、Mysql、Apache环境
- 没比这更简单的了!安装PHP composer(windows环境)及简易使用
- 在生产环境中使用php性能测试工具xhprof
- php缓冲器:eaccelerator与xcache性能测试对比
- CentOS 7.4 yum方式安装LAMP环境,并部署WordPress,使用XCache优化性能
- php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
- HHVM安装使用教程-高效的PHP运行环境提升PHP性能9倍以上
- PHP环境配置:Windows下XAMPP的安装说明与使用
- 基于在生产环境中使用php性能测试工具xhprof的详解
- PHP包管理工具Composer的安装与使用(Windows环境)
- php Windows系统 wamp集成环境下redis的使用
- PHP 使用 curl_* 系列函数和 curl_multi_* 系列函数进行多接口调用时的性能对比
- PHP使用Pear发送邮件(Windows环境)