当前位置 : 首页 » 文章分类 :  开发  »  Apache-ab Web服务基准测试工具

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)

上一篇 Spring-Cloud-Stream

下一篇 Homebrew

阅读
评论
777
阅读预计3分钟
创建日期 2021-03-29
修改日期 2021-03-31
类别

页面信息

location:
protocol:
host:
hostname:
origin:
pathname:
href:
document:
referrer:
navigator:
platform:
userAgent:

评论