测试工具

jmeter

apache bench(ab)

ab测试

命令
  • -n 请求数量
  • -c 并发数量
  1. # ab -n + 请求数量 -c + 并发数量 + -m + 请求参数 + 测试地址
  2. 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)