一直在寻找一款有效的网站压力测试”的文章>网站压力测试工具,今天试用了webbench之后,感觉非常满意,特地于大家分享。一、webbench简介webbench是有名的网站压力测试工具,它是由lionbridge公司(http://www.lionbridge.com)开发。它的帮助文件和文档请到:www.webbench.com上查看。
webbech能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webbech的标准测试可以向我们展示服务器的两项 内容:每秒钟相应请求数和每秒钟传输数据量。webbench不但能具有便准静态页面的测试能力,还能对动态页面(asp,php,java,cgi)进 行测试的能力。还有就是他支持对含有ssl的安全网站例如电子商务网站进行静态或动态的性能测试。
二、webbench安装(1)在freebsd下的用ports安装方法:#cd /usr/ports/benchmarks/webbench
#make install clean
记得安装成功以后运行一下rehash命令,刷新一下系统命令#rehash
(2)redhat/centos下的编译安装下载安装包:wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz#tar zxf webbench-1.5.tar.gz
#cd webbench-1.5
#make && make install
或者参考:http://blog.haohtml.com/index.php/archives/3234三、webbench使用#webbench -? (查看命令帮助)
常用参数说明,-c 表示客户端数,-t 表示时间测试实例:#webbench -c 500 -t 30 http://192.168.0.99/phpionfo.php
测试静态图片#webbench -c 500 -t 30 http://192.168.0.99/test.jpg
四、webbench测试结果www# webbench -c 500 -t 30 http://192.168.0.99/phpionfo.php
webbench - simple web benchmark 1.5
copyright (c) radim kolar 1997-2004, gpl open source software.
benchmarking: get http://192.168.0.99/phpionfo.php
500 clients, running 30 sec.
speed=53726 pages/min, 160866 bytes/sec.
requests: 26863 susceed, 0 failed.
五、webbench命令webbench [option]... url
-f|--force don't wait for reply from server.
-r|--reload send reload request - pragma: no-cache.
-t|--time run benchmark for seconds. default 30.
-p|--proxy use proxy server for request.
-c|--clients run http clients at once. default one.
-9|--http09 use http/0.9 style requests.
-1|--http10 use http/1.0 protocol.
-2|--http11 use http/1.1 protocol.
--get use get request method.
--head use head request method.
--options use options request method.
--trace use trace request method.
-?|-h|--help this information.
-v|--version display program version.
六 实例演示(nginx+php和apache+php)注意:webbench 做压力测试时,该软件自身也会消耗cpu和内存资源,为了测试准确,请将 webbench 安装在别的服务器上。测试结果:##### nginx + php #####[root@localhost webbench-1.5]# webbench -c 100 -t 30http://192.168.1.21/phpinfo.php
webbench - simple web benchmark 1.5
copyright (c) radim kolar 1997-2004, gpl open source software.
benchmarking: get http://192.168.1.21/phpinfo.php
100 clients, running 30 sec.
speed=102450 pages/min, 16490596 bytes/sec.
requests: 51225 susceed, 0 failed.
top - 14:06:13 up 27 days, 2:25, 2 users, load average: 14.57, 9.89, 6.51
tasks: 287 total, 4 running, 283 sleeping, 0 stopped, 0 zombie
cpu(s): 49.9% us, 6.7% sy, 0.0% ni, 41.4% id, 1.1% wa, 0.1% hi, 0.8% si
mem: 6230016k total, 2959468k used, 3270548k free, 635992k buffers
swap: 2031608k total, 3696k used, 2027912k free, 1231444k cached
测试结果:##### apache + php #####[root@localhost webbench-1.5]# webbench -c 100 -t 30http://192.168.1.27/phpinfo.php
webbench - simple web benchmark 1.5
copyright (c) radim kolar 1997-2004, gpl open source software.
benchmarking: get http://192.168.1.27/phpinfo.php
100 clients, running 30 sec.
speed=42184 pages/min, 31512914 bytes/sec.
requests: 21092 susceed, 0 failed.
top - 14:06:20 up 27 days, 2:13, 2 users, load average: 62.15, 26.36, 13.42
tasks: 318 total, 7 running, 310 sleeping, 0 stopped, 1 zombie
cpu(s): 80.4% us, 10.6% sy, 0.0% ni, 7.9% id, 0.1% wa, 0.1% hi, 0.9% si
mem: 6230016k total, 3075948k used, 3154068k free, 379896k buffers
swap: 2031608k total, 12592k used, 2019016k free, 1117868k cached
可以看出nginx+php平台的并发量(51225)要比apache+php平台的并发量(21092)要大的.为什么nginx的性能要比apache高得多?这得益于nginx使用了最新的epoll(linux 2.6内核)和kqueue(freebsd)网络i/o模型,而apache则使用的是传统的select模型。目前linux下能够承受高并发访问的 squid、memcached都采用的是epoll网络i/o模型。处理大量的连接的读写,apache所采用的select网络i/o模型非常低效。下面用一个比喻来解析apache采用的select模型和nginx采用的epoll模型进行之间的区别:假设你在大学读书,住的宿舍楼有很多间房间,你的朋友要来找你。select版宿管大妈就会带着你的朋友挨个房间去找,直到找到你为止。而epoll版宿管大妈会先记下每位同学的房间号,你的朋友来时,只需告诉你的朋友你住在哪个房间即可,不用亲自带着你的朋友满大楼找人。如果来了10000个人,都要找自己住这栋楼的同学时,select版和epoll版宿管大妈,谁的效率更高,不言自明。同理,在高并发服务器中,轮询i/o是最耗时间的操作之一,select和epoll的性能谁的性能更高,同样十分明了。
from: http://blog.haohtml.com/archives/6144
以上就介绍了网站压力测试工具webbench简介、安装、使用,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。