📅  最后修改于: 2023-12-03 15:13:25.449000             🧑  作者: Mango
Apache Bench是Apache自带的压力测试工具,可以测试一个Web服务器的吞吐量和性能,通常用于测试负载均衡,web服务器,反向代理,缓存等。
Apache Bench通常会在安装了Apache Web服务器的操作系统上自带,如果你没有安装Apache Web服务器,你可以在Linux系统上使用以下命令进行安装:
sudo apt-get update
sudo apt-get install apache2-utils
sudo yum install httpd-tools
Apache Bench的基本语法:
ab [选项] [URL]
-n
:要执行的请求数量-c
:并发请求数量-t
:测试的最大时间(秒)-p
:POST请求要发送的文件-T
:POST请求的content-type头-v
:显示详细信息-k
:使用HTTP KeepAlive特性-e
:生成HTML格式的测试报告-A
:设置要发送的HTTP头部信息。对http://example.com进行1000次请求并发数为10的压力测试:
ab -n 1000 -c 10 http://example.com/
对http://example.com进行最大时间为60秒的压力测试,此时并发数为默认的1:
ab -t 60 http://example.com/
执行完Apache Bench测试后,你会收到以下信息:
Server Software: nginx/1.1.19
Server Hostname: example.com
Server Port: 80
Document Path: /index.php
Document Length: 5000 bytes
Concurrency Level: 10
Time taken for tests: 21.468 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 5101786 bytes
HTML transferred: 5001786 bytes
Requests per second: 46.60 [#/sec] (mean)
Time per request: 214.678 [ms] (mean)
Time per request: 21.468 [ms] (mean, across all concurrent requests)
Transfer rate: 232.23 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 2 1.0 2 10
Processing: 40 212 17.5 213 253
Waiting: 38 204 17.7 204 248
Total: 40 214 18.9 215 253
Percentage of the requests served within a certain time (ms)
50% 215
66% 217
75% 219
80% 220
90% 223
95% 225
98% 234
99% 241
100% 253 (longest request)
这些数据中最常用的是:
Time taken for tests
:测试的时间Complete requests
:完成请求数Failed requests
:失败请求数Requests per second
:每秒请求数Time per request
:每个请求的处理时间Transfer rate
:传输速率Apache Bench是一个非常强大的工具,它可以帮助你测试web服务器的性能和吞吐量。这个工具的使用方法非常简单,只需要掌握好基本语法就可以开始使用了。如果你想进一步了解Apache Bench的高级特性,可以查看官方文档。