Apache压力测试工具ab使用详解

2015-10-15 奇Yu WEB开发

 Apache附带的压力测试工具ab,非常容易使用,并且完全可以摸你各种条件对Web服务器发起测试请求。ab可以直接在Web服务器本地发起测试请求,这对于需要了解服务器的处理性能至关重要,因为它不包括数据的网络传输时间以及用户PC本地的计算时间。
      下面我们开始压力测试(环境说明:win7,需要在命令行cmd中切换至ab.exe所在目录),执行以下命令:

1 ab -n1000 -c10 http://localhost/index.php/

      执行结果如下:

1 This is ApacheBench, Version 2.3 <$Revision: 655654 $>
2 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
3 Licensed to The Apache Software Foundation, http://www.apache.org/
4  
5 Benchmarking localhost (be patient)
6 Completed 100 requests
7 Completed 200 requests
8 Completed 300 requests
9 Completed 400 requests
10 Completed 500 requests
11 Completed 600 requests
12 Completed 700 requests
13 Completed 800 requests
14 Completed 900 requests
15 Completed 1000 requests
16 Finished 1000 requests
17  
18 Server Software:        Apache/2.2.21
19 Server Hostname:        localhost
20 Server Port:            80
21  
22 Document Path:          /index.php/
23 Document Length:        0 bytes
24  
25 Concurrency Level:      10
26 Time taken for tests:   1.047 seconds
27 Complete requests:      1000
28 Failed requests:        0
29 Write errors:           0
30 Total transferred:      187000 bytes
31 HTML transferred:       0 bytes
32 Requests per second:    955.06 [#/sec] (mean)
33 Time per request:       10.471 [ms] (mean)
34 Time per request:       1.047 [ms] (mean, across all concurrent requests)
35 Transfer rate:          174.41 [Kbytes/sec] received
36  
37 Connection Times (ms)
38               min  mean[+/-sd] median   max
39 Connect:        0    0   0.5      0       4
40 Processing:     2   10   4.5      9      42
41 Waiting:        2   10   4.5      9      41
42 Total:          2   10   4.5      9      42
43  
44 Percentage of the requests served within a certain time (ms)
45   50%      9
46   66%     11
47   75%     13
48   80%     15
49   90%     17
50   95%     18
51   98%     20
52   99%     21
53  100%     42 (longest request)

1.执行ab时3个参数的意思分别表示:

-n1000 :总请求数为1000
-c10 :并发用户数为10
http://localhost/index.php/ :表示这些请求的目标url

2.ab测试结果的各项说明:

Server Software:表示被测试的Web服务器软件名称
Server Hostname:表示请求的URL中的主机名称,这里是localhost
Server Port:表示被测试的Web服务器软件的监听端口
Document Path:表示请求的URL中的根绝对路径
Document Length:表示HTTP响应数据的正文长度
Concurrency Level:表示并发用户数,这是我们设置的参数
Time taken for tests:表示所有这些请求被处理完成所要花费的总时间
Complete requests:表示总请求数,这也是我们设置的参数
Failed requests:表示失败的总请求数,这里的失败指请求在连接服务器、发送数据、接收数据等环节发生异常,以及无响应超时等情况
Total transferred:表示所有请求的响应数据长度总和,包括HTTP响应的头信息和正文数据的长度
HTML transferred:表示所有请求的响应数据中正文数据的总和
Requests per second:表示服务器吞吐率(这是我们应该重点关注的)
Time per request:表示用户平均请求的等待时间
Time per request (mean, across all concurrent requests):表示服务器平均请求处理时间
Transfer rate:表示这些请求在单位时间内从服务器获取的数据长度
Percentage of the requests served within a certain time (ms):这部分数据描述每个请求处理时间的分布情况

发表评论:

Powered by emlog 豫ICP备14014990号-1 sitemap