一、webbench简介

  Webbench是知名的网站压力测试工具,它是由Lionbridge公司开发。Web Bench 是用于对 WWW 或代理服务器进行基准测试的非常简单的工具。使用 fork() 模拟多个客户端,可以使用 HTTP/0.9-HTTP/1.1 请求。这个基准测试不是很现实,但它可以测试您的 HTTPD 是否真的可以一次处理那么多客户端(尝试运行一些 CGI)而无需关闭您的机器。
  Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量。webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进 行测试的能力。还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试。Webbench最多可以模拟3万个并发连接去测试网站的负载能力。

二、安装步骤

1、下载软件包
[root@test1 local]# wget http://soft.vpser.net/test/webbench/webbench-1.5.tar.gz
 2、解压软件包
[root@test1 local]# tar -zxvf webbench-1.5.tar.gz
 webbench-1.5/
 webbench-1.5/webbench.1
 webbench-1.5/socket.c
 webbench-1.5/webbench.c
 webbench-1.5/Makefile
 webbench-1.5/debian/
 webbench-1.5/debian/rules
 webbench-1.5/debian/dirs
 webbench-1.5/debian/copyright
 webbench-1.5/debian/control
 webbench-1.5/debian/changelog
 webbench-1.5/COPYRIGHT
 webbench-1.5/ChangeLog3、编译安装
[root@test1 webbench-1.5]# make && make install
 cc -Wall -ggdb -W -O -c -o webbench.o webbench.c
 webbench.c: In function ‘alarm_handler’:
 webbench.c:77:31: warning: unused parameter ‘signal’ [-Wunused-parameter]
 static void alarm_handler(int signal)
 ^
 cc -Wall -ggdb -W -O -o webbench webbench.o
 ctags *.c
 /bin/sh: ctags: command not found
 make: [tags] Error 127 (ignored)
 install -s webbench /usr/local/bin
 install -m 644 webbench.1 /usr/local/man/man1
 install -d /usr/local/share/doc/webbench
 install -m 644 debian/copyright /usr/local/share/doc/webbench
 install -m 644 debian/changelog /usr/local/share/doc/webbench4、检查是否安装成功
[root@test1 webbench-1.5]# which webbench
 /usr/local/bin/webbench

5、查看webbench命令帮助

[root@test1 webbench-1.5]# webbench --help
 webbench [option]… URL
 -f|–force Don’t wait for reply from server.
 -r|–reload Send reload request - Pragma: no-cache.
 -t|–time <sec> Run benchmark for seconds. Default 30.
 -p|–proxy <server:port> Use proxy server for request.
 -c|–clients <n> Run 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.

三、使用说明

1、使用语法

webbench [option]… URL

2、参数说明

  • -f|–force 不要等待服务器的回复
  • -r|–reload 发送重新加载请求
  • -t|–time <sec> 运行基准测试时间,默认30秒.
  • -p|–proxy server:port 使用代理服务器进行请求
  • -c|–clients 并发http客户端请求,默认1个
  • -9|–http09 使用HTTP/0.9样式的请求
  • -1|–http10 使用HTTP/1.0协议
  • -2|–http11 使用HTTP/1.1协议
  • –get 使用get请求方法
  • –head 使用head请求方法
  • –options 使用选项请求方法
  • –trace 使用跟踪请求方法
  • -?|-h|–help 显示帮助信息
  • -V|–version 显示版本信息

3、使用示例

    • 每秒500个并发测试60秒
    [root@test1 local]# webbench -c 500 -t 60 http://192.168.0.213:8098/dist/#/index?id=7e77ad5dab52b8b29a5de3ed985b1535
     Webbench - Simple Web Benchmark 1.5
     Copyright © Radim Kolar 1997-2004, GPL Open Source Software.
    
     Benchmarking: GET http://192.168.0.213:8098/dist/#/index?id=7e77ad5dab52b8b29a5de3ed985b1535
     500 clients, running 60 sec.
    
     Speed=211544 pages/min, 373727 bytes/sec.
     Requests: 211544 susceed, 0 failed.• 每秒5000个并发测试60秒
    [root@test1 local]# webbench -c 5000 -t 60 http://192.168.0.213:8098/dist/#/index?id=7e77ad5dab52b8b29a5de3ed985b1535
     Webbench - Simple Web Benchmark 1.5
     Copyright © Radim Kolar 1997-2004, GPL Open Source Software.
    
     Benchmarking: GET http://192.168.0.213:8098/dist/#/index?id=7e77ad5dab52b8b29a5de3ed985b1535
     5000 clients, running 60 sec.
    
     Speed=203363 pages/min, 359218 bytes/sec.
     Requests: 203332 susceed, 31 failed.• 每秒30000个并发测试60秒
    [root@test1 local]# webbench -c 30000 -f -t 60 http://192.168.0.213:8098/dist/#/index?id=7e77ad5dab52b8b29a5de3ed985b1535
     Webbench - Simple Web Benchmark 1.5
     Copyright © Radim Kolar 1997-2004, GPL Open Source Software.
    
     Benchmarking: GET http://192.168.0.213:8098/dist/#/index?id=7e77ad5dab52b8b29a5de3ed985b1535
     30000 clients, running 60 sec, early socket close.
     problems forking worker no. 29631
     fork failed.: Resource temporarily unavailable

    4、测试结果分析

    • 500个并发的时候发送211544个请求,0失败个,说明web服务器负载OK;
    • 5000个并发的时候发送203332个请求, 31个失败,说明web服务器已经超负荷了;
    • 30000个并发的时候直接提示测试机fork资源不足。