php cache acpu,安装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.0tar zxvf xcache-3.2.0.tar.gz

cd xcache-3.2.0

/usr/local/php/bin/phpize

./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config

# make install

Installing shared extensions:     /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 = On

xcache.admin.user = "xcache"

xcache.admin.pass = ""

[xcache]

xcache.shm_scheme ="mmap"

xcache.size=60M

xcache.count =1

xcache.slots =8K

xcache.ttl=0

xcache.gc_interval =0

xcache.var_size=4M

xcache.var_count =1

xcache.var_slots =8K

xcache.var_ttl=0

xcache.var_maxttl=0

xcache.var_gc_interval =300

xcache.test =Off

xcache.readonly_protection = On

xcache.mmap_path ="/tmp/xcache"

xcache.coredump_directory =""

xcache.cacher =On

xcache.stat=On

xcache.optimizer =Off

[xcache.coverager]

xcache.coverager =On

xcache.coveragedump_directory =""

保存退出后,重启apache,php -v 查看是否有xcache信息;# /usr/local/php/bin/php -v

PHP 5.6.6 (cli) (built: Jun 29 2015 17:23:08)

Copyright (c) 1997-2015 The PHP Group

Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies

with XCache v3.2.0, Copyright (c) 2005-2014, by mOo

with XCache Cacher v3.2.0, Copyright (c) 2005-2014, by mOo

或phpinfo.php 浏览器中查看;

1bc15f082b6baef61ed68a4d42e26082.png

xcache状态查询:

创建一个缓存文件:touch /tmp/xcache

拷贝xcache3.2.0目录下htdocs目录到你自己的网站目录下,自定义目录名为xcache;

# cp -r htdocs/ /data/www/blog/xcache/

生成md5密码,复制密码拷贝到刚才php.ini文件xcache.admin.pass="" 引号中。

# echo -n '123456' |md5sum

e10adc3949ba59abbe56e057f20f883e

在浏览器访问 www.star.com/xcache/,弹出认证框输入用户名和密码访问;

735b2b7356d245624ede20631987f582.png

ed2fc3fefadb117be7f5413a75b48265.png

ab压力测试进行对比:未安装xcache与安装xcache

使用DELL R420真机(使用discuz论坛首页测试)

在另一台机器上,使用ab压力测试;未安装xcache,3000次并发为118; 3万次并发为74-94之间;[root@localhost ~]# ab -n 3000 -c 100 www.yong.com/forum.php

This is ApacheBench, Version 2.3 

Server Software:        Apache

Server Hostname:        www.yong.com

Server Port:            80

Document Path:          /forum.php

Document Length:        13222 bytes

Concurrency Level:      100

Time taken for tests:   25.247 seconds

Complete requests:      3000

Failed requests:        0

Write errors:           0

Total transferred:      42018000 bytes

HTML transferred:       39666000 bytes

Requests per second:    118.82 [#/sec] (mean)  #每秒处理的请求数

Time per request:       841.579 [ms] (mean)

Time per request:       8.416 [ms] (mean, across all concurrent requests)

Transfer rate:          1625.25 [Kbytes/sec] received

Connection Times (ms)

min  mean[+/-sd] median   max

Connect:        1    4   9.0      2      85

Processing:    66  827 441.1    967    2003

Waiting:       55  812 437.8    953    1992

Total:         68  831 442.2    970    2031

Percentage of the requests served within a certain time (ms)

50%    970

66%   1085

75%   1147

80%   1187

90%   1295

95%   1411

98%   1680

99%   1791

100%   2031 (longest request)

可以查看日志记录也是3000条[root@localhost logs]# cat yong.com-access_log_20150820.log|wc -l

3000

请求为3万次,测试结果如下:[root@localhost ~]# ab -n 30000 -c 100 www.yong.com/forum.php

Server Software:        Apache

Server Hostname:        www.yong.com

Server Port:            80

Document Path:          /forum.php

Document Length:        13222 bytes

Concurrency Level:      100

Time taken for tests:   402.065 seconds

Complete requests:      30000

Failed requests:        2

(Connect: 0, Receive: 0, Length: 2, Exceptions: 0)

Write errors:           0

Total transferred:      420614188 bytes

HTML transferred:       397069884 bytes

Requests per second:    74.61 [#/sec] (mean)

Time per request:       1340.216 [ms] (mean)

Time per request:       13.402 [ms] (mean, across all concurrent requests)

Transfer rate:          1021.62 [Kbytes/sec] received

Connection Times (ms)

min  mean[+/-sd] median   max

Connect:        1  170 639.2      4    7553

Processing:    60 1161 1108.3   1037    9234

Waiting:       54  911 534.1    975    7633

Total:         63 1331 1406.5   1068   12650

Percentage of the requests served within a certain time (ms)

50%   1068

66%   1208

75%   1323

80%   1482

90%   2672

95%   4181

98%   6083

99%   7630

100%  12650 (longest request)

系统负载,最高达到88

spacer.gif738b75b1ae5d13d42d790e51c59b91cd.png

开启xcache缓存后,3000次请求并发为368;3万次请求并发为103;系统负载最高只有2-4;[root@localhost ~]# ab -n 3000 -c 100 http://www.yong.com/forum.php

Server Software:        Apache

Server Hostname:        www.yong.com

Server Port:            80

Document Path:          /forum.php

Document Length:        12579 bytes

Concurrency Level:      100

Time taken for tests:   8.132 seconds

Complete requests:      3000

Failed requests:        8

(Connect: 0, Receive: 0, Length: 8, Exceptions: 0)

Total transferred:      39787499 bytes

HTML transferred:       37732203 bytes

Requests per second:    368.90 [#/sec] (mean)

Time per request:       271.079 [ms] (mean)

Time per request:       2.711 [ms] (mean, across all concurrent requests)

Transfer rate:          4777.81 [Kbytes/sec] received

Connection Times (ms)

min  mean[+/-sd] median   max

Connect:        1   36  29.8     27     141

Processing:    27  230 112.0    222     919

Waiting:       17  196 104.1    178     864

Total:         31  266 107.4    252     951

Percentage of the requests served within a certain time (ms)

50%    252

66%    298

75%    333

80%    352

90%    398

95%    452

98%    518

99%    592

100%    951 (longest request)

请求为3万次,测试结果如下:[root@localhost ~]# ab -n 30000 -c 100 http://www.yong.com/forum.php

Server Software:        Apache

Server Hostname:        www.yong.com

Server Port:            80

Document Path:          /forum.php

Document Length:        13233 bytes

Concurrency Level:      100

Time taken for tests:   290.761 seconds

Complete requests:      30000

Failed requests:        29963

(Connect: 0, Receive: 0, Length: 29963, Exceptions: 0)

Total transferred:      397977862 bytes

HTML transferred:       377424199 bytes

Requests per second:    103.18 [#/sec] (mean)

Time per request:       969.202 [ms] (mean)

Time per request:       9.692 [ms] (mean, across all concurrent requests)

Transfer rate:          1336.67 [Kbytes/sec] received

Connection Times (ms)

min  mean[+/-sd] median   max

Connect:        1  273 830.2      7    5700

Processing:    18  693 1404.2    249    7851

Waiting:       14  366 547.2    212    5480

Total:         19  967 2080.8    276   12416

Percentage of the requests served within a certain time (ms)

50%    276

66%    382

75%    480

80%    567

90%   2453

95%   6768

98%   9107

99%   9879

100%  12416 (longest request)

每次ab压力测试的结果都不太准确,在虚拟机测试结果更不靠谱。特意找的真机测试,除了负载较高,内存使用竟然没太大变化;只能做参考用;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值