测试工具
jmeter
apache bench(ab)
ab测试
命令
# ab -n + 请求数量 -c + 并发数量 + -m + 请求参数 + 测试地址
ab -n 1000 -c 100 -m POST http://localhost/index.html
结果
//并发请求数
Concurrency Level: 100
//整个测试持续的时间
Time taken for tests: 28.213 seconds
//完成的请求数
Complete requests: 1000
//失败的请求数
Failed requests: 0
//整个场景中的网络传输量
Total transferred: 3932000 bytes
//整个场景中的HTML内容传输量
HTML transferred: 3698000 bytes
//吞吐率,大家最关心的指标之一,相当于 LR 中的每秒事务数,后面括号中的 mean 表示这是一个平均值
Requests per second: 35.44 [#/sec] (mean)
//用户平均请求等待时间,大家最关心的指标之二,相当于 LR 中的平均事务响应时间,后面括号中的 mean 表示这是一个平均值
Time per request: 2821.302 [ms] (mean)
//服务器平均请求处理时间,大家最关心的指标之三
Time per request: 28.213 [ms] (mean, across all concurrent requests)
//平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
Transfer rate: 136.10 [Kbytes/sec] received
//表示网络上消耗的时间的分解
Connection Times (ms)
min mean[+/-sd] median max
Connect: 5 13 52.7 9 1196
Processing: 106 2345 2659.4 1338 25899
Waiting: 18 1658 1767.9 1162 25778
Total: 114 2358 2661.9 1349 25938
//这段是每个请求处理时间的分布情况,50%的处理时间在1349ms内,66%的处理时间在1658ms内...,重要的是看90%的处理时间。
Percentage of the requests served within a certain time (ms)
50% 1349
66% 1658
75% 1979
80% 3432
90% 6149
95% 7391
98% 11376
99% 12221
100% 25938 (longest request)