写在前面
在运维工作中,压力测试是一项很重要的工作。比如在一个网站上线之前,能承受多大访问量、在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验。但是,在压力测试中存在一个共性,那就是压力测试的结果与实际负载结果不会完全相同,就算压力测试工作做的再好,也不能保证100%和线上性能指标相同。面对这些问题,我们只能尽量去想方设法去模拟。所以,压力测试非常有必要,有了这些数据,我们就能对自己做维护的平台做到心中有数。
简介
Webbench是知名的网站压力测试工具,它是由Lionbridge公司开发。
Webbench能测试出在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量。webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进 行测试的能力。还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试。
Webbench是一枚强大得可以的压力测试工具,它最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便。
适用系统
Linux
安装
$ wget http://www.phpddt.com/soft/linux/webbench-1.5.tar.gz
$ tar zxvf webbench-1.5.tar.gz
$ cd webbench-1.5
$ make && make install
使用
$ webbench -c 1000 -t 60 http://localhost/
$ webbench -c 并发数 -t 运行测试时间 URL
测试结果
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://chadou.me/
500 clients, running 60 sec.
Speed=525 pages/min, 128063 bytes/sec.
Requests: 499 susceed, 26 failed.
注意:测试时并发数应该由小到大,并使用TOP检查网站负载,或自行打开页面查看速度。
测试注意事项:
- 压力测试工作应该放到产品上线之前,而不是上线以后;
- Webbench 做压力测试时,该软件自身也会消耗CPU和内存资源,为了测试准确,请将 webbench 安装在别的服务器上;
- 测试时尽量跨公网进行,而不是内网;
- 测试时并发应当由小逐渐加大,观察一下网站负载及打开是否流畅,直到网站打开缓慢甚至网站完全打不开;
- 应尽量进行单元测试,如B2C网站可以着重测试购物车、推广页面等,因为这些页面占整个网站访问量比重较大。
安装使用常见问题解决
问题1: cannot create regular file `/usr/local/man/man1′: No such file or directory
解决方法: 创建/usr/local/man/man1文件来解决
$ mkdir -m 644 -p /usr/local/man/man1
问题2: /bin/sh: ctags: command not found
解决方法:安装ctags
$ yum install ctags
问题3: gcc: Command not found
解决方法: 安装gcc
$ yum install gcc