Skip to content

安装

yum install -y httpd-tools

参数

  • -n 即requests,用于指定压力测试总共的执行次数。

  • -c 即concurrency,用于指定的并发数。

  • -t 即timelimit,等待响应的最大时间(单位:秒)。

  • -b 即windowsize,TCP发送/接收的缓冲大小(单位:字节)。

  • -p 即postfile,发送POST请求时需要上传的文件,此外还必须设置-T参数。

  • -u 即putfile,发送PUT请求时需要上传的文件,此外还必须设置-T参数。

  • -T 即content-type,用于设置Content-Type请求头信息,例如: application/x-www-form-urlencoded,默认值为 text/plain。

  • -v 即verbosity,指定打印帮助信息的冗余级别。

  • -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。

直连压力测试

ab -n 10000 -c 30 http://192.168.44.102/

Requests per second:    8270.74 [#/sec] (mean)
Time per request:       3.627 [ms] (mean)
Time per request:       0.121 [ms] (mean, across all concurrent requests)
Transfer rate:          1970.76 [Kbytes/sec] received

反向代理压力测试

ab -n 10000 -c 30 http://192.168.44.101/

Requests per second:    4308.08 [#/sec] (mean)
Time per request:       6.964 [ms] (mean)
Time per request:       0.232 [ms] (mean, across all concurrent requests)
Transfer rate:          1026.53 [Kbytes/sec] received

反向代理开启负载均衡 + keep-alive 压力测试

Requests per second:    6342.40 [#/sec] (mean)
Time per request:       4.730 [ms] (mean)
Time per request:       0.158 [ms] (mean, across all concurrent requests)
Transfer rate:          1511.28 [Kbytes/sec] received