Apache-ab Web服务基准测试工具
Apache httpd ab 测试工具
ab(Apache bench) 是 Apache httpd 自带的可以对 Apache, Nginx, Tomcat, IIS 等 Web 服务器进行基准测试(benchmarking)的工具。
ab 命令可以创建很多并发访问线程,模拟多个访问者同时对某一 URL 地址进行访问
ab - Apache HTTP server benchmarking tool
https://httpd.apache.org/docs/2.4/programs/ab.html
yum安装ab(安装httpd即可)
yum install httpd
httpd 包中自带 ab 工具
ab命令参数
-n 请求总数
-n :总共的请求执行数,缺省是1;
-c 并发数
-c: 并发数,缺省是1;
-t 请求总时间
-t:测试所进行的总时间,秒为单位,缺省50000s;
-k 发送keep-alive指令
-k:发送keep-alive指令到服务器;
-p post文档路径
-p:post请求,后面加post参数文档路径,默认为当前路径
-H 添加header
-H 可出现多次,用于添加header
-v4 打印请求和返回详细日志
加 -v4 打印详细日志
ab请求示例
无参数的get请求ab -n 1000 -c 100 http://127.0.0.1:8080/user/1
发送post请求,-p指定文档
ab -n 100 -c 5 -p "request.json" -H "Content-Type: application/json" -H "Cache-Control: no-chache" -k "http://127.0.0.1:8080/user/api?appid=myapp"
性能指标
并发用户数 Concurrency Level
即并发线程数,即请求中的 -c 参数指定的值
吞吐率 Requests per second
概念:单位时间内,客户端向服务器成功发送的请求数,也就是每秒事务数。tps、qps。单位reqs/s,是服务器并发处理能力的量化描述。某个并发用户数下单位时间内能处理的最大请求数,称为最大吞吐率。
吞吐率 = 总请求数/处理完成这些请求的总时间
用户平均响应时间 Time per request
平均每组并发用户并发完所用时间。
计算公式:处理完成所有请求数所花费的时间/ (总请求数 / 并发用户数),即
Time per request = Time taken for tests /( Complete requests / Concurrency Level)
平均响应时间 Time per request: across all concurrent requests
服务器处理每个请求的平均时间,是吞吐率的倒数。
计算公式:处理完成所有请求数所花费的时间 / 总请求数,即
Time taken for / testsComplete requests
同时,它也等于 ==》用户平均请求等待时间/并发用户数,即 Time per request / Concurrency Level
结果示例
Benchmarking 127.0.0.1 (be patient).....done
Server Software: Apache
Server Hostname: 127.0.0.1
Server Port: 8080
Document Path: /user/api?appid=myapp
Document Length: 1033 bytes
Concurrency Level: 5
Time taken for tests: 1.367 seconds
Complete requests: 100
Failed requests: 0
Keep-Alive requests: 0
Total transferred: 138800 bytes
Total body sent: 2148000
HTML transferred: 103300 bytes
Requests per second: 73.17 [#/sec] (mean)
Time per request: 68.334 [ms] (mean)
Time per request: 13.667 [ms] (mean, across all concurrent requests)
Transfer rate: 99.18 [Kbytes/sec] received
1534.86 kb/s sent
1634.04 kb/s total
Connection Times (ms)
min mean[+/-sd] median max
Connect: 11 13 3.0 12 31
Processing: 42 52 6.7 50 75
Waiting: 42 51 6.7 50 75
Total: 53 65 8.5 63 98
Percentage of the requests served within a certain time (ms)
50% 63
66% 64
75% 67
80% 68
90% 76
95% 87
98% 94
99% 98
100% 98 (longest request)
下一篇 Homebrew
页面信息
location:
protocol
: host
: hostname
: origin
: pathname
: href
: document:
referrer
: navigator:
platform
: userAgent
: