安装Xcache缓存加速php及ab压力测试结果
XCache 是一个又快又稳定的 PHP opcode 缓存器. 经过良好的测试并在大流量/高负载的生产机器上稳定运行. 经过(在 linux 上)测试并支持所有现行 PHP 分支的最新发布版本, 如 PHP_5_1 PHP_5_2 PHP_5_3 PHP_5_4. 并完美支持线程安全/Windows. 与同类 opcode 缓存器相比更胜一筹, 比如能够快速跟进 PHP 版本.
我的php为5.6.6版本,所以需要安装xcache3.2.0
官网下载:http://xcache.lighttpd.net/
tarzxvfxcache-3.2.0.tar.gzcdxcache-3.2.0/usr/local/php/bin/phpize./configure--enable-xcache--with-php-config=/usr/local/php/bin/php-config#makeinstallInstallingsharedextensions:/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
安装完成后会在上面的路径下生成xcache.so 文件;
php.ini文件加入xcache代码段(原文件为/usr/local/src/xcache-3.2.0/xcache.ini)
#vi/usr/local/php/etc/php.ini[xcache-common]extension=xcache.so[xcache.admin]xcache.admin.enable_auth=Onxcache.admin.user="xcache"xcache.admin.pass=""[xcache]xcache.shm_scheme="mmap"xcache.size=60Mxcache.count=1xcache.slots=8Kxcache.ttl=0xcache.gc_interval=0xcache.var_size=4Mxcache.var_count=1xcache.var_slots=8Kxcache.var_ttl=0xcache.var_maxttl=0xcache.var_gc_interval=300xcache.test=Offxcache.readonly_protection=Onxcache.mmap_path="/tmp/xcache"xcache.coredump_directory=""xcache.cacher=Onxcache.stat=Onxcache.optimizer=Off[xcache.coverager]xcache.coverager=Onxcache.coveragedump_directory=""
保存退出后,重启apache,php -v 查看是否有xcache信息;
#/usr/local/php/bin/php-vPHP5.6.6(cli)(built:Jun29201517:23:08)Copyright(c)1997-2015ThePHPGroupZendEnginev2.6.0,Copyright(c)1998-2015ZendTechnologieswithXCachev3.2.0,Copyright(c)2005-2014,bymOowithXCacheCacherv3.2.0,Copyright(c)2005-2014,bymOo
或phpinfo.php 浏览器中查看;
xcache状态查询:
创建一个缓存文件:touch /tmp/xcache
拷贝xcache3.2.0目录下htdocs目录到你自己的网站目录下,自定义目录名为xcache;
#cp-rhtdocs//data/www/blog/xcache/
生成md5密码,复制密码拷贝到刚才php.ini文件xcache.admin.pass="" 引号中。
# echo -n '123456' |md5sum
e10adc3949ba59abbe56e057f20f883e
在浏览器访问www.star.com/xcache/,弹出认证框输入用户名和密码访问;
ab压力测试进行对比:未安装xcache与安装xcache
使用DELL R420真机(使用discuz论坛首页测试)
在另一台机器上,使用ab压力测试;未安装xcache,3000次并发为118; 3万次并发为74-94之间;
[root@localhost~]#ab-n3000-c100www.yong.com/forum.phpThisisApacheBench,Version2.3<$Revision:655654$>ServerSoftware:ApacheServerHostname:www.yong.comServerPort:80DocumentPath:/forum.phpDocumentLength:13222bytesConcurrencyLevel:100Timetakenfortests:25.247secondsCompleterequests:3000Failedrequests:0Writeerrors:0Totaltransferred:42018000bytesHTMLtransferred:39666000bytesRequestspersecond:118.82[#/sec](mean)#每秒处理的请求数Timeperrequest:841.579[ms](mean)Timeperrequest:8.416[ms](mean,acrossallconcurrentrequests)Transferrate:1625.25[Kbytes/sec]receivedConnectionTimes(ms)minmean[+/-sd]medianmaxConnect:149.0285Processing:66827441.19672003Waiting:55812437.89531992Total:68831442.29702031Percentageoftherequestsservedwithinacertaintime(ms)50%97066%108575%114780%118790%129595%141198%168099%1791100%2031(longestrequest)
可以查看日志记录也是3000条
[root@localhostlogs]#catyong.com-access_log_20150820.log|wc-l3000
请求为3万次,测试结果如下:
[root@localhost~]#ab-n30000-c100www.yong.com/forum.phpServerSoftware:ApacheServerHostname:www.yong.comServerPort:80DocumentPath:/forum.phpDocumentLength:13222bytesConcurrencyLevel:100Timetakenfortests:402.065secondsCompleterequests:30000Failedrequests:2(Connect:0,Receive:0,Length:2,Exceptions:0)Writeerrors:0Totaltransferred:420614188bytesHTMLtransferred:397069884bytesRequestspersecond:74.61[#/sec](mean)Timeperrequest:1340.216[ms](mean)Timeperrequest:13.402[ms](mean,acrossallconcurrentrequests)Transferrate:1021.62[Kbytes/sec]receivedConnectionTimes(ms)minmean[+/-sd]medianmaxConnect:1170639.247553Processing:6011611108.310379234Waiting:54911534.19757633Total:6313311406.5106812650Percentageoftherequestsservedwithinacertaintime(ms)50%106866%120875%132380%148290%267295%418198%608399%7630100%12650(longestrequest)
系统负载,最高达到88
开启xcache缓存后,3000次请求并发为368;3万次请求并发为103;系统负载最高只有2-4;
[root@localhost~]#ab-n3000-c100http://www.yong.com/forum.phpServerSoftware:ApacheServerHostname:www.yong.comServerPort:80DocumentPath:/forum.phpDocumentLength:12579bytesConcurrencyLevel:100Timetakenfortests:8.132secondsCompleterequests:3000Failedrequests:8(Connect:0,Receive:0,Length:8,Exceptions:0)Totaltransferred:39787499bytesHTMLtransferred:37732203bytesRequestspersecond:368.90[#/sec](mean)Timeperrequest:271.079[ms](mean)Timeperrequest:2.711[ms](mean,acrossallconcurrentrequests)Transferrate:4777.81[Kbytes/sec]receivedConnectionTimes(ms)minmean[+/-sd]medianmaxConnect:13629.827141Processing:27230112.0222919Waiting:17196104.1178864Total:31266107.4252951Percentageoftherequestsservedwithinacertaintime(ms)50%25266%29875%33380%35290%39895%45298%51899%592100%951(longestrequest)
请求为3万次,测试结果如下:
[root@localhost~]#ab-n30000-c100http://www.yong.com/forum.phpServerSoftware:ApacheServerHostname:www.yong.comServerPort:80DocumentPath:/forum.phpDocumentLength:13233bytesConcurrencyLevel:100Timetakenfortests:290.761secondsCompleterequests:30000Failedrequests:29963(Connect:0,Receive:0,Length:29963,Exceptions:0)Totaltransferred:397977862bytesHTMLtransferred:377424199bytesRequestspersecond:103.18[#/sec](mean)Timeperrequest:969.202[ms](mean)Timeperrequest:9.692[ms](mean,acrossallconcurrentrequests)Transferrate:1336.67[Kbytes/sec]receivedConnectionTimes(ms)minmean[+/-sd]medianmaxConnect:1273830.275700Processing:186931404.22497851Waiting:14366547.22125480Total:199672080.827612416Percentageoftherequestsservedwithinacertaintime(ms)50%27666%38275%48080%56790%245395%676898%910799%9879100%12416(longestrequest)
每次ab压力测试的结果都不太准确,在虚拟机测试结果更不靠谱。特意找的真机测试,除了负载较高,内存使用竟然没太大变化;只能做参考用;
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。