转自:http://blog.csdn.net/u010425776/article/details/51087515
这两天在测试php性能优化方法。
为了做压力测试可观察效果,就选择了ApacheBench来作为压力测试工具。其实就是大家常说的ab。
但是这个工具是安装apache web server的时候自带的,现在我服务器上都是跑nginx。也不想为了用这个工具就再装个apache。所以在用下面方法单独安装ab工具,这里记录下步骤。
首先安装ab运行需要的软件包apr-util
然后安装一个yum的工具包,为了可以单独弄出来ab。
上面两个安装好以后,我们开始单独安装ab,其实就是下载到apache的rpm包,然后解压后,cp出来ab工具。
下载apache的rpm包就交给yumdownloader完成了,下载前我们建立一个临时目录用来存放。
mkdir httpd
cd httpd
yumdownloader httpd
yumdownloader可能会报错:ImportError: No module named yum,查了一下,是由于python版本不对,用whereis python看了一下,
python: /usr/bin/python2.4 /usr/bin/python /usr/lib/python2.4 /usr/include/python2.4 /usr/share/man/man1/python.1.gz
vi /usr/bin/yumdownloader
将第一行的python包含改为 /usr/bin/python2.4
下载后,我们对rpm进行解包
最后将我们用到的ab拷贝到系统的/usr/bin目录下就可以了。最后再删除临时目录就全部ok了。
cd ..
rm -rf httpd
ab -n100 -c10 http://www.***.com/index.php
1
-n100:总并发数
-c10:并发用户数
http://www.***.com/index.php:需要测试的页面
Server Software: openresty #服务器软件
Server Hostname: www..***..com #测试的网址
Server Port: 80 #访问的端口号
Document Path: /index.php #测试的网页
Document Length: 162 bytes #HTTP响应信息的正文长度
Concurrency Level: 10 #并发用户数
Time taken for tests: 1.497209 seconds #测试所花费的时间
Complete requests: 100 #总请求数
Failed requests: 0 #失败的请求数(响应码非2xx的请求由Non-2xx responses记录)
Write errors: 0
Non-2xx responses: 100 #HTTP响应头中状态码非2xx的响应个数
Total transferred: 32400 bytes #总的响应数据长度,包括HTTP响应的头和正文数据,但不包括请求数据。
HTML transferred: 16200 bytes #HTTP响应中正文数据的长度。
Requests per second: 66.79 [#/sec] (mean) #吞吐率
Time per request: 149.721 [ms] (mean) #用户平均请求等待时间
Time per request: 14.972 [ms] (mean, across all concurrent requests) #服务器平均请求处理时间
Transfer rate: 20.71 [Kbytes/sec] received #服务器的数据传输速度(在极限情况下该数据即为服务器出口带宽)
Connection Times (ms)
min mean[+/-sd] median max
Connect: 40 46 4.8 46 58
Processing: 41 46 5.0 46 58
Waiting: 40 46 4.9 45 58
Total: 81 92 9.7 92 116
Percentage of the requests served within a certain time (ms)
50% 92 #50%的请求在92毫秒内完成
66% 98
75% 99
80% 101
90% 107
95% 114
98% 115
99% 116
100% 116 (longest request)