首页 > 代码库 > 【性能测试工具】- 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之间的关系是什么?