webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好用,安装使用也特别方便,并且非常小。

主要是 -t 参数用着比较爽,下面参考了张宴的文章:

  1、适用系统:Linux

  2、编译安装:

[root@hexuweb102 ~]$wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz

[root@hexuweb102 ~]$tar zxvf webbench-1.5.tar.gz

[root@hexuweb102 ~]$cd webbench-1.5

[root@hexuweb102 ~]$make && make install

  3、使用:

[root@hexuweb102 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 <sec> seconds. Default 30.

-p|--proxy <server:port> Use proxy server 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.

## 测试使用如下:

[root@hexuweb102 webbench-1.5]$ webbench -c 500 -t 30 http://127.0.0.1/phpinfo.php

</n></n></server:port></sec></sec>

参数说明:-c表示并发数,-t表示时间(秒)

4、测试结果示例:

[root@hexuweb102 webbench-1.5]$ webbench -c 200 -t 30 http://127.0.0.1/phpinfo.php

Webbench - Simple Web Benchmark 1.5

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

Benchmarking: GET http://dev3.smarter.com.cn/index.php

200 clients, running 30 sec.

Speed=1294 pages/min, 3221114 bytes/sec.

Requests: 647 susceed, 0 failed.


举个查看每分种处理多少pages的测试例子,计划压力测试2小时:

方法是使用Web Bench进行并发压力测试,选择的页面是phpinfo.php,并发请求开始5个,每次循环增加5个进入下轮的循环,每一轮循环持续180s,到达最大200个并发时结束。这样就可以持续做2小时的测试。

[root@hexuweb102 webbench-1.5]$ for n in `seq 5 5 50` ; do echo -n $n " " ; webbench -c $n -t 60 http://127.0.0.1/phpinfo.php 2>/dev/null | grep Speed | awk '{print $1}' | awk -F= '{print $2}' ; echo ; done

# 可以得到下面数据:

clints Pages/Min

5 6824

10 6888

15 6849

20 6867

25 6892

30 6865

35 6846

40 6739

45 6699

50 6880

55 6831

60 6861

65 6847

70 6852

75 6818

80 6813

85 6858

90 6825

95 6840

100 6893

100 6871

105 6858

110 6890

115 6866

120 6893

125 6912

130 6857

135 6892

140 6874

145 6868

150 6891

155 6862

160 6893

165 6877

170 6872

175 6899

180 6855

185 6900

190 6882

195 6890

200 6904


Apache bench 测试 也非常不错  

n请求数,-c 请求时间

webbench -n 200 -c 30 http://127.0.0.1/phpinfo.php

sudo apt-get install apache2-utils


测试命令

最常用的测试命令如下:

ab -n 100 -c 10 http://192.168.188.6:8080/distributeLock

带自定义header请求:

ab -n 1 -c 1 -H "Pragma:no-cache" http://192.168.188.6:8080/distributeLock

-H带header请求

模拟post请求

ab -n 1 -c 1 -p 'post.txt' -T 'application/x-www-form-urlencoded' http://192.168.188.6:8080/distributeLock2