命令用法:
ab -c 100 -n 1000 http://127.0.0.1/index.php
-c 100 即:每次并发100个
-n 100 即: 共发送1000个请求
用127.0.0.1来访问可以排除网络的因素,不过在Linux上用本机的对外ip访问也是不走网卡,没有网络消耗的
参数详情:
-A:指定连接服务器的基本的认证凭据;
-c:指定一次向服务器发出请求数;
-C:添加cookie;
-g:将测试结果输出为“gnuolot”文件;
-h:显示帮助信息;
-H:为请求追加一个额外的头;
-i:使用“head”请求方式;
-k:激活HTTP中的“keepAlive”特性;
-n:指定测试会话使用的请求数;
-p:指定包含数据的文件;
-q:不显示进度百分比;
-T:使用POST数据时,设置内容类型头;
-v:设置详细模式等级;
-w:以HTML表格方式打印结果;
-x:以表格方式输出时,设置表格的属性;
-X:使用指定的代理服务器发送请求;
-y:以表格方式输出时,设置表格属性。
结果分析:
Server Software: nginx
//web服务器
Server Hostname: 127.0.0.1
//服务器主机名
Server Port: 80
//服务器端口
Document Path: /index.php
//请求的资源
Document Length: 34309 bytes
// 文档返回的长度,不包括相应头
Concurrency Level: 100
// 并发个数
Time taken for tests: 292.241 seconds
//总请求时间
Complete requests: 86
// 成功的请求数
Failed requests: 0
//失败的请求数
Write errors: 0
Total transferred: 2977836 bytes
//网络传输量
HTML transferred: 2950574 bytes
//HTML内容传输量
Requests per second: 0.29 [#/sec] (mean)
// 平均每秒的请求数
Time per request: 339815.529 [ms] (mean)
// 平均每个请求消耗的时间
Time per request: 3398.155 [ms] (mean, across all concurrent requests)
//每个请求实际运行时间的平均值
Transfer rate: 9.95 [Kbytes/sec] received
// 时间传输速率
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 4 1.0 5 5
Processing: 2438 145776 83690.5 147778 287875
Waiting: 2426 145776 83690.8 147778 287875
Total: 2438 145780 83691.0 147782 287879
WARNING: The median and mean for the initial connection time are not within a normal deviation
These results are probably not that reliable.
Percentage of the requests served within a certain time (ms)
50% 147782
// 50%的请求都是在85ms内完成的
66% 191107
75% 217747
80% 231139
90% 261350
95% 274685
98% 284726
99% 287879
100% 287879 (longest request)