ab压测工具 是一款 跨平台轻量级压测工具,本文我们将简单介绍下 ab压测工具 的使用方法。

centos安装ab压测工具

yum -y install httpd-tools

常用命令

查看版本

ab -V

帮助

ab -h

并发测试

并发5,测试100个请求,请求目标地址百度

ab -c 5 -n 100 https://www.baidu.com/

主要使用参数

-cconcurrency用于指定的并发数。

-nrequests用于指定压力测试总共的执行次数。

-ttimelimit等待响应的最大时间(单位:秒)。

-bwindowsizeTCP发送/接收的缓冲大小(单位:字节)。
-ppostfile发送POST请求时需要上传的文件,此外还必须设置-T参数。
-uputfile发送PUT请求时需要上传的文件,此外还必须设置-T参数。
-Tcontent-type用于设置Content-Type请求头信息,例如:application/x-www-form-urlencoded,默认值为text/plain。
-vverbosity指定打印帮助信息的冗余级别。
-w 以HTML表格形式打印结果。
-i 使用HEAD请求代替GET请求。
-x 插入字符串作为table标签的属性。
-y 插入字符串作为tr标签的属性。
-z 插入字符串作为td标签的属性。
-C 添加cookie信息,例如:"Apache=1234"(可以重复该参数选项以添加多个)。
-H 添加任意的请求头,例如:"Accept-Encoding: gzip",请求头将会添加在现有的多个请求头之后(可以重复该参数选项以添加多个)。
-A 添加一个基本的网络认证信息,用户名和密码之间用英文冒号隔开。
-P 添加一个基本的代理认证信息,用户名和密码之间用英文冒号隔开。
-X 指定使用的和端口号,例如:"126.10.10.3:88"。
-V 打印版本号并退出。
-k 使用HTTP的KeepAlive特性。
-d 不显示百分比。
-S 不显示预估和警告信息。
-g 输出结果信息到gnuplot格式的文件中。
-e 输出结果信息到CSV格式的文件中。
-r 指定接收到错误信息时不退出程序。
-h 显示用法信息,其实就是ab -help。

结果参数说明

1641289204

Server Software:        BWS/1.1   # 目标使用服务
Server Hostname:        www.baidu.com  # 目标主机地址
Server Port:            443  # 目标端口
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES128-GCM-SHA256,2048,128 # 目标使用协议

Document Path:          / # 请求路径
Document Length:        227 bytes  # 请求长度

Concurrency Level:      5 # 并发数
Time taken for tests:   1.953 seconds # 测试时间
Complete requests:      100 # 完成请求数
Failed requests:        0 # 失败请求数
Write errors:           0 # 警告请求数
Total transferred:      111080 bytes # 总转移字节
HTML transferred:       22700 bytes # html总转移字节
Requests per second:    51.20 [#/sec] (mean) # 每秒rps
Time per request:       97.651 [ms] (mean) # 平均请求时间
Time per request:       19.530 [ms] (mean, across all concurrent requests) # 所有平均请求时间
Transfer rate:          55.54 [Kbytes/sec] received # 转换率

Connection Times (ms) # 连接时间
              min  mean[+/-sd] median   max
Connect:       47   69  14.0     67     104 # 连接
Processing:    16   24   7.1     23      77 # 处理
Waiting:       16   24   7.1     23      77 # 等待
Total:         63   93  20.0     89     173 # 全部

# 一定时间内请求的百分比
Percentage of the requests served within a certain time (ms)
  50%     89
  66%    101
  75%    105
  80%    107
  90%    125
  95%    130
  98%    136
  99%    173
 100%    173 (longest request) # 最长的请求