51Testing软件测试论坛

标题: apache Bench [打印本页]

作者: youyan2007    时间: 2010-5-10 10:14
标题: apache Bench
大家有没有用过apache自带的性能测试工具ab?我怎么用它测试,产生2个并发连接,就会出现失败请求数呢?请教各位高手,谢谢!配置文件里未设置并发连接数。
ab -n 100 -c 2 http://localhost/index.php,结果:
Concurrency Level:      2
Time taken for tests:   1.187 seconds
Complete requests:      100
Failed requests:        18
   (Connect: 0, Receive: 0, Length: 18, Exceptions: 0)
Write errors:           0
Total transferred:      1784104 bytes
HTML transferred:       1752404 bytes
Requests per second:    84.23 [#/sec] (mean)
Time per request:       23.745 [ms] (mean)
Time per request:       11.873 [ms] (mean, across all concurrent requests)
Transfer rate:          1467.48 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   1.4      0      14
Processing:    16   23   5.5     22      43
Waiting:       16   23   5.2     22      43
Total:         16   24   5.6     22      43

Percentage of the requests served within a certain time (ms)
  50%     22
  66%     24
  75%     27
  80%     29
  90%     31
  95%     36
  98%     40
  99%     43
100%     43 (longest request)
作者: youyan2007    时间: 2010-5-10 10:18
每次产生的Failed requests值还不一样,真奇怪!
作者: youyan2007    时间: 2010-5-10 10:28
找到答案了!
只要出现 Failed requests 就会多出现一行要求失败的各原因的数据统计,分别有 Connect, Length, 与 Exception 三种,分别代表的意义为:
Connect      无法送出要求、目标主机连接失败、要求的过程中联机被中断
Length        响应的内容长度不一致 ( 以 Content-Length 标头值为判断依据 )
Exception   发生无法预期的错误
而从上述说明就可以很明显看出所有的 Failed requests 都落在 Length 这个类别上,原来这是因为受测网站的首页是动态的内容,当第一次发出 HTTP request 与后续发出的 HTTP request 所得到回应的 HTML 长度都是不同大小的 ( 每次回应的 Content-Length 大小不一致 ),才会引发 Failed requests 的 Length 问题的失败,因此这类 Length 不一致的失败在进行「动态网页」压力测试时是合理的,可以不予理会。
希望能帮助到大家!
作者: river.huang    时间: 2010-5-10 11:22
你那个是JSP服务器么?
作者: youyan2007    时间: 2010-5-11 15:12
标题: 回复 4# 的帖子
我是php服务器……




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2