常用参数说明
-n:指定总请求数。例如,-n 1000表示发出1000个请求。
-c:指定并发请求数。例如,-c 10表示同时发出10个请求。
-t:指定测试持续时间,单位为秒。例如,-t 60表示测试持续60秒。
-k:启用HTTP KeepAlive功能,即在一次TCP连接中处理多个HTTP请求。默认情况下,ab在每个请求之间关闭连接。
-p:指定包含POST数据的文件。例如,-p postdata.txt表示从postdata.txt文件中读取POST数据。
-H:指定请求头。例如,-H "Accept-Encoding: gzip, deflate"表示在请求头中设置Accept-Encoding字段。
-A:指定HTTP认证信息。例如,-A "username:password"表示使用基本的HTTP认证。
-s:指定测试期间等待服务器响应的最大时间,单位为秒。例如,-s 10表示等待服务器响应的最大时间为10秒。
-v:输出详细的调试信息,包括请求和响应头。
-V:输出版本信息。
压测返回结果解释
Benchmarking www.baidu.com (be patient)
Completed 100 requests
...
Completed 1000 requests
Finished 1000 requests
Server Software: Apache // web服务软件名称
Server Hostname: www.baidu.com // 请求域名
Server Port: 80 // 请求端口
Document Path: /index。 // 请求路径
Document Length: 203 bytes。// 文档字节数
Concurrency Level: 10 // 压测并发数,由 -c 控制
Time taken for tests: 4.832 seconds // 任务总耗时
Complete requests: 1000 // 任务请求完成数量
Failed requests: 0 // 任务请求失败数量
Non-2xx responses: 1000 // HTTP 2XX以外的状态码的数量
Total transferred: 348000 bytes //所有请求的响应数据长度总和,包括每个HTTP响应数据的头信息和正文数据的长度
HTML transferred: 203000 bytes // 所有请求的响应数据中正文数据的总和
Requests per second: 206.97 [#/sec] (mean) // 平均每秒请求数,也叫吞吐率
Time per request: 48.316 [ms] (mean) // 批次平均耗时(一次并发总的耗时)
Time per request: 4.832 [ms] (mean, across all concurrent requests) // 单个请求的平均耗时
Transfer rate: 70.34 [Kbytes/sec] received // 请求在单位时间内从服务器获取的数据长度
Connection Times (ms)
min mean[+/-sd] median max // 最小 平均 中位数 最大
Connect: 13 24 63.2 18 1019 // 成功建立tcp三次握手耗时
Processing: 14 23 14.9 21 234 // 总时间减去connect时间
Waiting: 14 23 14.9 20 234 // 客户端发送完请求信息的最后一个字节 到 接收响应信息的的第一个字节的耗时
Total: 28 47 64.8 40 1041 // 建立连接到关闭连接整个时间段
Percentage of the requests served within a certain time (ms) // 描述每个请求处理时间的分布情况
50% 40
66% 42
75% 45
80% 47
90% 52
95% 59
98% 91
99% 166
100% 1041 (longest request)