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

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

      执行结果如下:

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 localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests

Server Software:        Apache/2.2.21
Server Hostname:        localhost
Server Port:            80

Document Path:          /index.php/
Document Length:        0 bytes

Concurrency Level:      10
Time taken for tests:   1.047 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      187000 bytes
HTML transferred:       0 bytes
Requests per second:    955.06 [#/sec] (mean)
Time per request:       10.471 [ms] (mean)
Time per request:       1.047 [ms] (mean, across all concurrent requests)
Transfer rate:          174.41 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.5      0       4
Processing:     2   10   4.5      9      42
Waiting:        2   10   4.5      9      41
Total:          2   10   4.5      9      42

Percentage of the requests served within a certain time (ms)
  50%      9
  66%     11
  75%     13
  80%     15
  90%     17
  95%     18
  98%     20
  99%     21
 100%     42 (longest request)

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

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

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

http://ef-luegde.de/custom0essayorg/ Server Software:表示被测试的Web服务器软件名称
Server Hostname:表示请求的URL中的主机名称,这里是localhost
Server Port:表示被测试的Web服务器软件的监听端口
Document Path:表示请求的URL中的根绝对路径
see url Document Length:表示HTTP响应数据的正文长度
Concurrency Level:表示并发用户数,这是我们设置的参数
watch Time taken for tests:表示所有这些请求被处理完成所要花费的总时间
go to link 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):这部分数据描述每个请求处理时间的分布情况

 相关文章
  • 暂无相关文章
  • 【技术交流,欢迎大家拍砖】

    1. 网上购物商城 说道:

      文章不错支持一下

    2. 这个技术活儿,还得多向前辈学习呀!!!

    3. 富婆网 说道:

      感谢分享,很有用