【简介】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
解压文件: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 ./webbench2.webbench [option]... URL
【指令】webbench -c 100 -t 10 http://www.baidu.com/ //100个客户端,10s内运行
【结果】Webbench - Simple Web Benchmark 1.5 Benchmarking: GET http://www.baidu.com/
举个查看每分种处理多少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[转载补充]
1、压力及性能测试工作应该放到产品上线之前,而不是上线以后;
2、测试时并发应当由小逐渐加大,比如并发100时观察一下网站负载是多少、打开页面是否流畅,并发200时又是多少、网站打开缓慢时并发是多少、网站打不开时并发又是多少; 3、更详细的进行某个页面测试,如电商网站可以着重测试购物车、推广页面等,因为这些页面占整个网站访问量比重较大。 备注:webbench 做压力及性能测试时,该软件自身也会消耗CPU和内存资源,为了测试准确,建议将 webbench 安装在其他的服务器上,已达到测试数据更加精确。