首页 > 代码库 > 【性能测试工具】- WebBench

【性能测试工具】- WebBench

优点:模拟的并发量更大;缺点:统计的结果有限

 

概述:

webbench是由Lionbridge公司(http://www.lionbridge.com)开发,它是Linux下的一个网站压力测试工具,它最多可以模拟3万个并发连接去测试网站的负载能力。使用fork()函数产生一定数量的并发数,支持的请求协议包括HTTP/0.9----HTTP/1.1(《HTTP 0.9 / 1.0 / 1.1》 http://www.cnblogs.com/musicmovie/p/3892648.html)。返回的结果包括pages/min和bytes/sec,表示“每分钟相应请求数”和“每秒钟传输数据量”。webbench不但能具有对静态页面的测试能力,还有能对动态页面(ASP,PHP,JAVA,CGI)进行测试的能力。还有就是它支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试。注意:webbench 做压力测试时,该软件自身也会消耗CPU和内存资源,为了测试准确,请将 webbench 安装在别的服务器上。

 

官方地址:http://home.tiscali.cz/~cz210552/webbench.html

 

安装:
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install

 

基本使用:

实例1

XXXXXXXXXXXXXXXX$ webbench -c 10 -t 5 http://www.douban.com/                               /*并发数是10,执行时间是5秒*/

Webbench - SimpleWeb Benchmark 1.5

Copyright (c) RadimKolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://www.douban.com/

10 clients, running5 sec.

实例1的结果

Speed= 31152pages/min, 158051bytes/sec.                      /*每分钟响应请求数:31152pages/min,每秒钟传输数据158051 bytes/sec.*/

Requests: 2596 susceed,0 failed.

 

实例2

XXXXXXXXXXXXXXXX$ webbench-c 10 -t 5 -f http://www.douban.com/                           /*比“实例1”多了个-f参数,表示不等服务器响应*/

Webbench - SimpleWeb Benchmark 1.5

Copyright (c) RadimKolar 1997-2004, GPL Open Source Software.

Benchmarking: GEThttp://www.douban.com/

10 clients, running5 sec, early socket close.

实例2的结果

Speed=63144pages/min, 0 bytes/sec.                                   /*在使用了-f参数后,发送的请求明显多了,不过前提是服务器够强*/

Requests: 5262susceed, 0 failed.                                              /*没有fail的请求*/

 

参数说明:

  -f|--force               Don‘t wait for reply fromserver.

  -r|--reload              Send reload request - Pragma:no-cache.

  -t|--time <sec>          Run benchmark for <sec>seconds. Default 30.

  -p|--proxy <server:port> Use proxyserver for request.

  -c|--clients <n>         Run <n> HTTP clients at once.Default one.

  -9|--http09              Use HTTP/0.9 style requests.

  -1|--http10              Use HTTP/1.0 protocol.

  -2|--http11              Use HTTP/1.1 protocol.

  --get                    Use GET request method.

  --head                  Use HEAD request method.

  --options                Use OPTIONS request method.

  --trace                  Use TRACE request method.

  -?|-h|--help             This information.

  -V|--version             Display program version.

 

讨论/疑问:

  • 如何将测试结果折合成TPS?
  • 测试结果里面的Speed和Request之间的关系是什么?