1,安装
sudo apt-get install apache2-utils
2,使用
ps:具体的参数可以去网上查查,但是我们平时用-n和-c就够了
-n requests
在测试会话中所执行的请求个数。 默认时,仅执行一个请求,但通常其结果不具有代表意义。
-c concurrency
一次产生的请求个数。默认是一次一个。
ab -n 500 -c 2 http://127.0.0.1/index.php > 2个并发用户共同请求个数500个
3,分析
Server Software: gws #服务器信息
Server Hostname: www.google.com #测试地址
Server Port: 80 #测试端口
Document Path: / #测试文档路径
Document Length: 390 bytes #测试文档大小
Concurrency Level: 2 #并发数量
Time taken for tests: 6.752 seconds #测试消耗时间
Complete requests: 500 #完成的请求数
Failed requests: 0 #失败的请求数
Non-2xx responses: 500 #HTTP响应数据的头信息中含有2XX以外的状态码的请求数
Total transferred: 566000 bytes #总传输数据大小
HTML transferred: 195000 bytes #总传输html数据大小
Requests per second: 74.05 [#/sec] (mean) #吞吐量,每秒处理平均请求数
Time per request: 27.007 [ms] (mean) #每个请求平均等待时间
Time per request: 13.504 [ms] (mean, across all concurrent requests) #服务器每个请求平均处理时间
Transfer rate: 81.86 [Kbytes/sec] received #平均每秒流量数
Connection Times (ms) #下面为时间花费的分布(连接、处理、等待、总数)
min mean[+/-sd] median max
Connect: 1 1 0.2 1 2
Processing: 22 26 7.6 25 150
Waiting: 22 26 7.6 25 150
Total: 23 27 7.6 26 151
//下面为每个请求花费时间的分布
Percentage of the requests served within a certain time (ms)
50% 26 #50%在26毫秒之内
66% 27 #66%在27毫秒之内
75% 27
80% 27
90% 28 #主要看这个参数,90%在28毫秒之内
95% 29
98% 36
99% 52
100% 151 (longest request)
引用在一篇文章中看到过的
ps:导向http://www.cnblogs.com/zhengah/p/4334314.html
术语说明: qps = req/sec = 请求数/秒
【qps计算pv和机器的方式】
qps统计方式 [一般使用 http_load 进行统计] qps = 总请求数 / ( 进程总数 * 请求时间 ) qps: 单个进程每秒请求服务器的成功次数
单台服务器每天pv计算 公式1:每天总pv = qps * 3600 * 6 公式2:每天总pv = qps * 3600 * 8
服务器计算 服务器数量 = ceil( 每天总pv / 单台服务器每天总pv )
【峰值qps和机器计算公式】
原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间 公式:( 总pv数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(qps) 机器:峰值时间每秒qps / 单台机器的qps = 需要的机器
问:每天300w pv 的在单台机器上,这台机器需要多少qps? 答:( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (qps)
问:如果一台机器的qps是58,需要几台机器来支持? 答:139 / 58 = 3
ps: 在实际情况中,会把这个考虑的更多一点,就是把qps再往多了调一调,以防万