压力测试 webbench
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