现在的位置:首页>空间域名>正文

webbench使用介绍:vps上的lnmp/lamp网站压力测试及负载测试

2016年10月12日 ⁄ 共 3709字 暂无评论

vps进行网站压力测试,估计大多数站长都有这个想法,当网站的流量不大的时候,测不测无所谓,而一旦您的网站流大起来,我们就需要知道其负载性能了,目前来看,大多数朋友可以都是使用的lnmp或者lamp这种架构,部落也是采用的lnpm军哥一健安装包,而今天要介绍过的性能测试工具webbench,就能进行相关的测试了.

一.webbench简介

Webbech能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况.webbench最多可以模拟3万个并发连接去测试网站的负载能力,webBech的标准测试可以向我们展示服务器的两项 内容:每秒钟相应请求数和每秒钟传输数据量.webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进行测试的能力.还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试.

Webbench是有名的网站压力测试工具,它是由Lionbridge公司开发.它的帮助文件和文档请到官方的网站上查看,地址是:由此直达.

二.webbench安装

(1)RedHat/CentOS下的编译安装

下载安装包:wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz

  1. wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz
  2. tar zxf webbench-1.5.tar.gz
  3. cd webbench-1.5
  4. make && make install

(2)在FreeBSD下的用Ports安装方法:

  1. cd  /usr/ports/benchmarks/webbench
  2. make install clean

记得安装成功以后运行一下rehash命令,刷新一下系统命令:

rehash

三.webbench使用

webbench --help (查看命令帮助)

常用参数说明,-c 表示客户端数,-t 表示时间

测试实例:

webbench -c 500 -t 30 http://192.168.0.2/phpionfo.php

测试静态图片

webbench -c 500 -t 30 http://192.168.0.2/test.jpg

四.webbench测试结果

  1. webbench -c 500 -t 30 http://192.168.0.2/phpionfo.php
  2. Webbench - Simple Web Benchmark 1.5
  3. Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
  4. Benchmarking: GET http://192.168.0.2/phpionfo.php
  5. 500 clients, running 30 sec.
  6. Speed=53726 pages/min, 160866 bytes/sec.
  7. Requests: 26863 susceed, 0 failed.

五.webbench命令

我们可以直接查看下面的图片:

webbench使用介绍:vps上的lnmp/lamp网站压力测试及负载测试

六.实例演示(Nginx+php和Apache+php)

注意:webbench 做压力测试时,该软件自身也会消耗CPU和内存资源,为了测试准确,请将 webbench 安装在别的服务器上.

测试结果:##### Nginx + PHP #####

  1.  [root@localhost webbench-1.5]# webbench -c 100 -t 30 http://192.168.1.21/phpinfo.php
  2.     Webbench - Simple Web Benchmark 1.5
  3.     Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
  4.     Benchmarking: GET http://192.168.1.21/phpinfo.php
  5.     100 clients, running 30 sec.
  6.     Speed=102450 pages/min, 16490596 bytes/sec.
  7.     Requests: 51225 susceed, 0 failed.
  8.     top - 14:06:13 up 27 days,  2:25,  2 users,  load average: 14.57, 9.89, 6.51
  9.     Tasks: 287 total,   4 running, 283 sleeping,   0 stopped,   0 zombie
  10.     Cpu(s): 49.9% us,  6.7% sy,  0.0% ni, 41.4% id,  1.1% wa,  0.1% hi,  0.8% si
  11.     Mem:   6230016k total,  2959468k used,  3270548k free,   635992k buffers
  12.     Swap:  2031608k total,     3696k used,  2027912k free,  1231444k cached
  13. 测试结果:##### Apache + PHP #####
  14.     [root@localhost webbench-1.5]# webbench -c 100 -t 30 http://192.168.1.27/phpinfo.php
  15.     Webbench - Simple Web Benchmark 1.5
  16.     Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
  17.     Benchmarking: GET http://192.168.1.27/phpinfo.php
  18.     100 clients, running 30 sec.
  19.     Speed=42184 pages/min, 31512914 bytes/sec.
  20.     Requests: 21092 susceed, 0 failed.
  21.     top - 14:06:20 up 27 days,  2:13,  2 users,  load average: 62.15, 26.36, 13.42
  22.     Tasks: 318 total,   7 running, 310 sleeping,   0 stopped,   1 zombie
  23.     Cpu(s): 80.4% us, 10.6% sy,  0.0% ni,  7.9% id,  0.1% wa,  0.1% hi,  0.9% si
  24.     Mem:   6230016k total,  3075948k used,  3154068k free,   379896k buffers
  25.     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的性能谁的性能更高,同样十分明了.

 

 

小结

文章内容部分来源自网络,由免费部落整理发布.

在高并发服务器中,如果您的配置性能不行的话,部落建议您进行升级.部落的VPS从建站到现在,已经进行过两次升级了.目前从测试来看,效果还算勉强.

给我留言