【简介】linux下开源软件webbench-1.5简介
Web Bench is very simple tool for benchmarking WWW or proxy servers. Uses fork() for simulating multiple clients and can use HTTP/0.9-HTTP/1.1 requests. This benchmark is not very realistic, but it can test if your HTTPD can realy handle that many clients at once (try to run some CGIs) without taking your machine down. Displays pages/min and bytes/sec. Can be used in more aggressive mode with -f switch.
Web Bench 是一款非常简单的测试网站服务器或代理服务器的工具,利用linux下的fork()函数产生多个子进程,模拟多个客户端进行压力测试。可以发送http/0.9-http/1.1类型的请求。该软件可测试一个网站的多用户压力访问问题。通过pages/min 和 bytes/sec两个参数反应网站的性能,并且又多种选择模式。返回两项内容:每秒钟相应请求数和每秒钟传输数据量。webbench不但能具有静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进行测试的能力。还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试。
官方网站: http://home.tiscali.cz/~cz210552/webbench.html
下载地址:$ wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz
解压文件:tar xzvf webbench-1.5.tar.gz //vxzf:-z 是配合解压.gz的 -x 解开一个包文件 -v 显示详细信息 -f 必须,表示使用归档文件// 将压缩包解压到主文件夹下
进入工程:cd webbench-1.5
编译安装:sudo make && make install
可能遇到问题:
1.提示ctags命令解析不了:sudo apt-get install ctags //提示安装exuberant-ctags[ubuntu12.04]
2.无法创建普通文件"/usr/local/bin/webbench":权限不够:
2.1根目录下进入usr: cd /usr/ 2.2 修改local文件夹权限:sudo chmod a+w -R local/
【压力测试】运行webbench
1.运行: cd webbench1.5 ./webbench
2.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.//-h指定运行时间
-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.
【指令】webbench -c 100 -t 10 http://www.baidu.com/ //100个客户端,10s内运行
【结果】Webbench - Simple Web Benchmark 1.5 Benchmarking: GET http://www.baidu.com/
10 clients, running 10 sec.
Speed=390 pages/min, 468967 bytes/sec.
[转载]
举个查看每分种处理多少pages的测试例子,计划压力测试2小时:
方法是使用Web Bench进行并发压力测试,选择的页面是phpinfo.php,并发请求开始5个,每次循环增加5个进入下轮的循环,每一轮循环持续180s,到达最大200个并发时结束。这样就可以持续做2小时的测试。
[[email protected] 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
[转载补充]
1、压力及性能测试工作应该放到产品上线之前,而不是上线以后;
2、测试时并发应当由小逐渐加大,比如并发100时观察一下网站负载是多少、打开页面是否流畅,并发200时又是多少、网站打开缓慢时并发是多少、网站打不开时并发又是多少;
3、更详细的进行某个页面测试,如电商网站可以着重测试购物车、推广页面等,因为这些页面占整个网站访问量比重较大。
备注:webbench 做压力及性能测试时,该软件自身也会消耗CPU和内存资源,为了测试准确,建议将 webbench 安装在其他的服务器上,已达到测试数据更加精确。