ab是一个apache中的一个工具。主要用户web网站的性能测试,压力测试,并发测试。这个工具可以方便模拟多线程并发请求测试服务器负载压力。

ab工具对发出负载的计算机资源占用很低,它既不会占用很高CPU和内存。但会给目标服务器造成巨大的负载,其原理类似CC攻击。所以测试使用也要根据实际需要进行测试,否则一次测试太多的负载。可能造成目标服务器资源耗尽而宕机

linux中安装ab工具

yum install https-tools

 查看ab的版本信息

ab -V

ab命令的测试


命令:ab

参数:-n 总请求数量    -c 并发数

案例:ab -n 1000 -c 100 http://localhost/index.html:80/index.html   (意思是100个人进行访问共完成1000次请求)

测试结果:

[root@localhost]# ab -n 100 -c 20 http://localhost:80/index.html
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking localhost (be patient).....done
Server Software:        nginx/1.12.0    #服务器软件
Server Hostname:        localhost    #域名
Server Port:            80  #端口  
Document Path:          /index.html    #页面
Document Length:        30397 bytes    #页面大小
Concurrency Level:      20    #并发数为20
Time taken for tests:   2.420 seconds    #总共请求时间
Complete requests:      100    #完成请求数
Failed requests:        0    #失败请求数
Write errors:           0    #写入错误
Total transferred:      3074900 bytes    #总传输量
HTML transferred:       3039700 bytes    #HTML内容传输量
Requests per second:    41.32 [#/sec] (mean)    #吞吐量=每秒最大请求数
Time per request:       483.985 [ms] (mean)    #服务器每个页面响应时间
#每个并发请求平均消耗时间
Time per request:       24.199 [ms] (mean, across all concurrent requests)
#平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
Transfer rate:          1240.88 [Kbytes/sec] received
#网络上消耗的时间的分解:
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       0
Processing:    95  424 102.5    430     594
Waiting:       95  423 102.5    430     594
Total:         95  424 102.5    430     594
#整个场景中所有请求的响应情况。
#在场景中每个请求都有一个响应时间 
#其中 50% 的用户响应时间小于 430 毫秒 
#80 % 的用户响应时间小于 485 毫秒 
#最大的响应时间小于 594 毫秒 
Percentage of the requests served within a certain time (ms)
  50%    430
  66%    470
  75%    480
  80%    485
  90%    560
  95%    586
  98%    592
  99%    594
 100%    594 (longest request)