在运维工作中,压力测试是一项很重要的工作。比如在一个网站上线之前,能承受多大访问量、在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验。但是,在压力测试中存在一个共性,那就是压力测试的结果与实际负载结果不会完全相同,就算压力测试工作做的再好,也不能保证100%和线上性能指标相同。面对这些问题,我们只能尽量去想方设法去模拟。所以,压力测试非常有必要,有了这些数据,我们就能对自己做维护的平台做到心中有数
1、简介
-
webbench是知名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发
优点:
-
最多可以模拟3万个并发连接去测试网站的负载能力
-
webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况
-
webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量
-
webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进行测试的能力
-
还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试。
-
这个程序更小,解压后不到50K
2、下载
1 [root@vforbox src]# wget http://files.cnblogs.com/files/vforbox/webbench-1.5.tar.gz
-
只能使用Linux里面的 wget 、curl 工具下载和访问
3、安装
1 [root@vforbox src]# tar zxvf webbench-1.5.tar.gz2 [root@vforbox src]# cd webbench-1.53 [root@vforbox webbench-1.5]# make //执行完make,会在当前目录生成webbench可执行文件
4、WebBench的使用
-
webbench -c 并发数 -t 运行测试时间 URL
1 [root@vforbox ~]webbench -c 1000 -t 60 http://192.168.1.187/phpinfo.php
-
Apache测试实例结果
//当并发200时
[root@vforbox webbench-1.5]# webbench -c 200 -t 30 http://192.168.1.187/phpinfo.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://192.168.1.187/phpinfo.php
200 clients, running 30 sec.
Speed=47324 pages/min, 44176716 bytes/sec.
Requests: 23662 susceed, 0 failed.
//每秒钟响应请求数:47324 pages/min,每秒钟传输数据量44176716bytes/sec.
//当并发1000时
[root@vforbox webbench-1.5]# webbench -c 1000 -t 60 http://192.168.1.187/phpinfo.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://192.168.1.187/phpinfo.php
1000 clients, running 60 sec.
Speed=48221 pages/min, -27471298 bytes/sec.
Requests: 47374 susceed, 847 failed.
//当并发1000时,已经显示有847个连接failed了,说明严重超负荷了。
-
并发1000运行60秒后产生的TCP连接数12000多个
5、总结
-
压力测试工作应该放到产品上线之前,而不是上线以后
-
测试时并发应当由小逐渐加大,比如并发100时观察一下网站负载是多少、打开页面是否流畅,并发200时又是多少、网站打开缓慢时并发是多少、网站打不开时并发又是多少
-
更详细的进行某个页面测试,如电商网站可以着重测试购物车、推广页面等,因为这些页面占整个网站访问量比重较大
转载至:(作者: 小令 出处:http://www.cnblogs.com/vforbox/)