文章目录[隐藏]
我们架构一个网站,当想把它上线工作时,我们进行一些网站的压力测试非常有必要,看看它能承受多大的访问量,在大量访问情况下,我们的网站数据性能指标如何,这将直接影响到用户的浏览体验,对于一个网站,用户的良好体验永远都是第一位的,面对出现的问题,我们尽量修正,所以,压力测试取得的数据非常总要,这对于我们维护自己的平台就有了第一手资料。
Webbench是知名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发。
Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量。webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进 行测试的能力。还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试。
Webbench最多可以模拟3万个并发连接去测试网站的负载能力。
官方主页:http://home.tiscali.cz/~cz210552/webbench.html
编译安装WebBench:
wget http://www.ha97.com/code/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make
make install
错误处理
1、webbench安装报错没有安装ctags
如果没有安装 ctags make 编译会报错:/bin/sh: ctags: command not found
yum install ctags
2、没有安装gcc
这时候可能会报错:
cc: Command not found
这时需要gcc:
yum install gcc
3、其他报错
如果出现下面的错误:
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
测试举例1:
webbench -c 1000 -t 60 http://192.168.80.157/phpinfo.php
webbench -c 并发数 -t 运行测试时间 URL
Apache测试实例结果:
当并发300时,
root [ ~ ]# webbench -c 300 -t 60 http://192.168.80.157/phpinfo.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://192.168.80.157/phpinfo.php
300 clients, running 60 sec.
Speed=24525 pages/min, 20794612 bytes/sec.
Requests: 24525 susceed, 0 failed.
每秒钟响应请求数:24525 pages/min,每秒钟传输数据量20794612 bytes/sec.
当并发1000时,已经显示有87个连接failed了,说明超负荷了。
root [ ~ ]# webbench -c 1000 -t 60 http://192.168.80.157/phpinfo.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://192.168.80.157/phpinfo.php
1000 clients, running 60 sec.
Speed=24920 pages/min, 21037312 bytes/sec.
Requests: 24833 susceed, 87 failed.
测试举例2:
webbench -c 500 -t 30 http://127.0.0.1:8080
参数说明:-c表示并发数,-t表示时间(秒)
最后就会出现详细的测试信息了:
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://127.0.0.1/test.jpg
500 clients, running 30 sec.
Speed=3230 pages/min, 11614212 bytes/sec.
Requests: 1615 susceed, 0 failed.
总结:
1、压力测试工作应该放到产品上线之前,而不是上线以后;
2、测试时并发应当由小逐渐加大,比如并发100时观察一下网站负载是多少、打开页面是否流畅,并发200时又是多少、网站打开缓慢时并发是多少、网站打不开时并发又是多少;
3、更详细的进行某个页面测试,如电商网站可以着重测试购物车、推广页面等,因为这些页面占整个网站访问量比重较大。