#whereis webbench
#/usr/ports/benchmarks/webbench
#make install
使用:
#/usr/local/bin/webbench -c 1024 -t 30 http://127.0.0.1/test.php
参数说明:-c表示并发数,-t表示时间(秒)
并发数在nginx.conf里面的
worker_connections 50120;(测试的时候必须小于等于这个允许的并发数)
# webbench -c 1024 -t 30 http://127.0.0.1/test.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://127.0.0.1/test.php
1024 clients, running 30 sec.
Speed=1274 pages/min, 566020 bytes/sec.
Requests: 637 susceed, 0 failed.
返回0错误说明是,再访问下http://127.0.0.1/test.php
如果不出现502错误 说明可以承受这么大的并发数,还可以挑的更大来测试
看看最大能承受多少
==================================================================================
在运维工作中,压力测试是一项非常重要的工作。但是,在压力测试中存在一个共性,那就是压力测试的结果与实际负载结果不会完全相同,就算压力测试工作做的再好,也不能保证100%和线上性能指标相同。面对这些问题,我们只能尽量去想方设法去模拟。所以,压力测试非常有必要,目前较为常见的网站压力测试工具有webbench、ab(apache bench)、tcpcopy、loadrunner。
以webbench为例,来讲解一下网站在上线之前压力测试是如何做的。
安装webbench
#wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz
#tar zxvf webbench-1.5.tar.gz
#cd webbench-1.5
#make && make install
进行压力测试
并发200时
# webbench -c 200 -t 60 http://blog.luwenju.com/index.php
参数解释:-c为并发数,-t为时间(秒)
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://blog.luwenju.com/index.php
200 clients, running 60 sec.
Speed=1454 pages/min, 2153340 bytes/sec.
Requests: 1454 susceed, 0 failed.
当并发200时,网站访问速度正常
并发800时
#webbench -c 800 -t 60 http://blog.luwenju.com/index.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://blog.luwenju.com/index.php
800 clients, running 60 sec.
Speed=1194 pages/min, 2057881 bytes/sec.
Requests: 1185 susceed, 9 failed.
当并发连接为800时,网站访问速度稍慢
并发1600时
#webbench -c 1600 -t 60 http://blog.luwenju.com/index.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://blog.luwenju.com/index.php
1600 clients, running 60 sec.
Speed=1256 pages/min, 1983506 bytes/sec.
Requests: 1183 susceed, 73 failed.
当并发连接为1600时,网站访问速度便非常慢了
并发2000时
#webbench -c 2000 -t 60 http://blog.luwenju.com/index.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://blog.luwenju.com/index.php
2000 clients, running 60 sec.
Speed=2154 pages/min, 1968292 bytes/sec.
Requests: 2076 susceed, 78 failed.
当并发2000时,网站便出现“502 Bad Gateway”,由此可见web服务器已无法再处理用户访问请求
总结:
1、压力测试工作应该放到产品上线之前,而不是上线以后
2、测试时尽量跨公网进行,而不是内网
3、测试时并发应当由小逐渐加大,比如并发100时观察一下网站负载是多少、打开是否流程,并发200时又是多少、网站打开缓慢时并发是多少、网站打不开时并发又是多少
4、 应尽量进行单元测试,如B2C网站可以着重测试购物车、推广页面等,因为这些页面占整个网站访问量比重较大
补充 Centos下安装:
系统:centos 5.6
软件:webbench-1.5.tar.gz
1.下载webbench-1.5.tar.gz
这步没有什么说的,大家自己网上找.
2.确认安装了gcc和make,如果没有就运行下面的命令
yum -y install gcc* make
3.安装webbench
make
当执行make出现上面的错误,只需要执行下面的命令:
yum -y install ctags
make install
当执行make install出现上面的错误提示时,表示没有这个文件夹,我们可以手动创建个
mkdir -p /usr/local/man/man1
然后再执行下make install
好了,这样就安装成功了.下面我们就可以对网站进行压力测试了.
webbench -c 5000 -t 30 http://www.slogra.com/index.php
参数说明:-c表示并发数,-t表示时间(秒)
好了,就到这了吧,大家可以装起测试自己的网站