- Apache Bench是Apache 自带的压力测试工具,以下链接是在mac系统安装的步骤,亲测可用:
- 在mac系统安装步骤:点击此处
- 关于ab工具的一些参数说明:点击此处
- 本文参考文档:常用命令案例、参数集合
- 官方文档说明:点击此处
- 官方下载地址:点此下载
- 一些优秀的文章链接:点击此处
- 我在安装过程中遇到的问题:
- 在 ./configure 的时候 容易按下tab键写成 ./config,应该写 ./configure
- 以下是进过实践之后的结果
bogon:bin bjhl$ ab -c 100 -n 10000 https://XXXXXXXXXXXXXXX
This is ApacheBench, Version 2.3 <$Revision: 1826891 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking test-yuan-yy.weishi100.com (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests
Server Software: nginx/1.13.3 # 被测服务器软件名称
Server Hostname: xxxxx.com # 域名
Server Port: 443 # 请求端口号
SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256 # SSL或者TLS协议
TLS Server Name: testxxxx.weixxx.com # TLS的服务名称
Document Path: /x/x/x/info # 文件路径
Document Length: 0 bytes # 页面字节数
Concurrency Level: 100 # 请求的并发数
Time taken for tests: 55.932 seconds # 总访问时间
Complete reques
1ts: 10000
Failed requests: 0
Non-2xx responses: 10000
Total transferred: 2640000 bytes # 请求总数据大小(包括header头信息)
HTML transferred: 0 bytes # HTML页面传输的字节数大小
Requests per second: 178.79 [#/sec] (mean) # 吞吐率
# 概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。计算公式:总请求数 / 处理完成这些请求数所花费的时间,即 Request per second = Complete requests
Time per request: 559.316 [ms] (mean) # 用户平均请求等待时间
#用户平均请求等待时间(Time per request) 计算公式:处理完成所有请求数所花费的时间/ (总请求数 / 并发用户数
Time per request: 5.593 [ms] (mean, across all concurrent requests) # 服务器平均处理时间,也就是服务器吞吐量的倒数
#计算公式:处理完成所有请求数所花费的时间 / 总请求数,即 Time taken for / testsComplete requests
Transfer rate: 46.09 [Kbytes/sec] received # 每秒获取的数据长度
Connection Times (ms)
min mean[+/-sd] median max
Connect: 44 352 93.8 351 793
Processing: 7 203 85.5 191 553
Waiting: 7 127 76.5 110 533
Total: 146 555 97.3 538 1157
Percentage of the requests served within a certain time (ms)
50% 538 # 50%用户请求在538ms内返回
66% 559 # 66%用户请求在559ms内返回
75% 580 # 75%用户请求在580ms内返回
80% 605 # 80%用户请求在605ms内返回
90% 674 # 90%用户请求在674ms内返回
95% 736 # 95%用户请求在736ms内返回
98% 826 # 95%用户请求在826ms内返回
99% 857 # 99%用户请求在857ms内返回
100% 1157 (longest request)
- 常用参数如下:
-n 请求的总数,默认是1次。
-c 并发数,同一时间请求数。
-p 如果后面接的是文件,表示POST请求,文件中包含请求数据,根据数据格式,设置-T参数。
-T 设置请求头中的Content-type(针对POST/PUT),比如:application/x-www-form-urlencoded。默认是text/plain。
-w 将测试结果打印到HTML表格中。