Apache压力测试工具 ab.exe

时间:2022-02-15 11:45:05

ab的使用

有多简单,just so easy,看示例

G:\program files\Apache Software Foundation\Apache2.2\bin>ab.exe -n 1000 -c 100 http://www.163.com/

这是我在xp下跑的测试,首先要找到apache的安装目录,“G:\program files\Apache Software Foundation\Apache2.2\bin” 这是我的apache的安装目录,一坨cd等命令,让我们进入到了这个目录下后,输入命令主体,“ab.exe -n 1000 -c 100 http://www.163.com/”

ab.exe 是命令

-n 1000 表示总共要发送1000个请求

-c 100 表示并发请求数为100

http://www.163.com/ 最后跟的是要测试的网址(发现网址的末尾必须加上/ 才行,否则命令不运行,猜想可能是正则匹配的原因)


ab性能报告&解析

要找到一个能允许做压力测试的网站并不是很容易,很多大型网站会对用户的访问频率做一些限制,以此来避免DOS攻击,但是还是被我侥幸发现了一个可以做实验小白鼠的:网易,一起看一下他的测试报告

G:\program files\Apache Software Foundation\Apache2.2\bin>ab.exe -n 100 -c  10 http://www.163.com/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.163.com (be patient).....done

#展示了web服务器的信息,可见网易采用的是nginx服务器,域名是www.163.com,端口话是80
Server Software:        nginx
Server Hostname:        www.163.com
Server Port:            80

#这段是关于请求的文档的相关信息,所在位置“/”,文档的大小为338436 bytes(此为http响应的正文长度)
Document Path:          /
Document Length:        338436 bytes

#请求并发数为10
Concurrency Level:      10

#本次测试100次请求共花费时间为 72.469秒
Time taken for tests:   72.469 seconds

#完成的请求数为100
Complete requests:      100

#失败的请求数为23个
Failed requests:        23
   (Connect: 0, Receive: 0, Length: 23, Exceptions: 0)
Write errors:           0

#所有请求的响应数据长度总和(result = http响应头信息 + 正文数据)
Total transferred:      33875454 bytes

#等于上面的数据 - http头信息
HTML transferred:       33841001 bytes

# 吞吐率(网站性能的重要标志!!!)
Requests per second:    1.38 [#/sec] (mean)

#用户平均请求等待时间(网站性能的重要标志!!)
Time per request:       7246.875 [ms] (mean)

#服务器平均请求处理时间(网站性能的重要标志!!)
Time per request:       724.688 [ms] (mean, across all concurrent requests)

#这些请求在单位时间内从服务器获取的数据长度,该项数据可以统计出服务器在处理能力达到极限时,器出口带宽的需求量
Transfer rate:          456.49 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    2   5.4      0      16
Processing:    31 6985 2170.1   6828   13625
Waiting:        0  330 617.2     94    3688
Total:         47 6987 2169.4   6828   13625

#每个请求处理时间的分布情况,50%的处理时间在6828ms内,66%的处理时间在7774ms内。。。
Percentage of the requests served within a certain time (ms)
  50%   6828
  66%   7734
  75%   8609
  80%   9063
  90%   9859
  95%  10609
  98%  11156
  99%  13625
 100%  13625 (longest request)


压力测试目的

通过不断的增加并发数,记录下并发用户数、吞吐率、请求等待时间、请求处理时间这些实验数据,通过您自己的分析,选取最适合自己的并发数