天天看点

Linux下Web网站压力测试工具Webbench

webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好用,安装使用也特别方便,并且非常小。

一,环境:linux

二,安装方式:编译安装

 具体步骤如下:

 1,安装编译工具:

<code>[root@zabbix </code><code>install</code><code>]</code><code># yum install ctags wget make apr* autoconf automake gcc gcc-c++</code>

 2,下载该软件包

<code>[root@zabbix </code><code>install</code><code>]</code><code># wget http://home.tiscali.cz/cz210552/distfiles/webbench-1.5.tar.gz </code>

<code>--2016-07-06 19:01:29--  http:</code><code>//home</code><code>.tiscali.cz</code><code>/cz210552/distfiles/webbench-1</code><code>.5.</code><code>tar</code><code>.gz</code>

<code>Resolving home.tiscali.cz... 82.208.6.172</code>

<code>Connecting to home.tiscali.cz|82.208.6.172|:80... connected.</code>

<code>HTTP request sent, awaiting response... 200 OK</code>

<code>Length: 7675 (7.5K) [application</code><code>/x-tar</code><code>]</code>

<code>Saving to: “webbench-1.5.</code><code>tar</code><code>.gz”</code>

<code>100%[=====================================================================================&gt;] 7,675       --.-K</code><code>/s</code>   <code>in</code> <code>0s      </code>

<code>2016-07-06 19:01:36 (233 MB</code><code>/s</code><code>) - “webbench-1.5.</code><code>tar</code><code>.gz” saved [7675</code><code>/7675</code><code>]</code>

 3,编译安装

<code>[root@zabbix </code><code>install</code><code>]</code><code># tar zxvf webbench-1.5.tar.gz </code>

<code>webbench-1.5/</code>

<code>webbench-1.5</code><code>/webbench</code><code>.1</code>

<code>webbench-1.5</code><code>/socket</code><code>.c</code>

<code>webbench-1.5</code><code>/webbench</code><code>.c</code>

<code>webbench-1.5</code><code>/Makefile</code>

<code>webbench-1.5</code><code>/debian/</code>

<code>webbench-1.5</code><code>/debian/rules</code>

<code>webbench-1.5</code><code>/debian/dirs</code>

<code>webbench-1.5</code><code>/debian/copyright</code>

<code>webbench-1.5</code><code>/debian/control</code>

<code>webbench-1.5</code><code>/debian/changelog</code>

<code>webbench-1.5</code><code>/COPYRIGHT</code>

<code>webbench-1.5</code><code>/ChangeLog</code>

<code>[root@zabbix </code><code>install</code><code>]</code><code># cd webbench-1.5</code>

<code>[root@zabbix webbench-1.5]</code><code># mkdir /usr/local/man      #创建该目录否则会失败</code>

<code>[root@zabbix webbench-1.5]</code><code># make</code>

<code>cc -Wall -ggdb -W -O   -c -o webbench.o webbench.c</code>

<code>webbench.c: In </code><code>function</code> <code>‘alarm_handler’:</code>

<code>webbench.c:77: warning: unused parameter ‘signal’</code>

<code>cc -Wall -ggdb -W -O  -o webbench webbench.o  </code>

<code>ctags *.c</code>

<code>[root@zabbix webbench-1.5]</code><code># make install</code>

<code>install</code> <code>-s webbench </code><code>/usr/local/bin</code>

<code>install</code> <code>-m 644 webbench.1 </code><code>/usr/local/man/man1</code>

<code>install</code> <code>-d </code><code>/usr/local/share/doc/webbench</code>

<code>install</code> <code>-m 644 debian</code><code>/copyright</code> <code>/usr/local/share/doc/webbench</code>

<code>install</code> <code>-m 644 debian</code><code>/changelog</code> <code>/usr/local/share/doc/webbench</code>

 4,进行压力测试

<code>[root@zabbix webbench-1.5]</code><code># webbench -c 100 -t 30 http://192.168.1.245/zabbix.php?action=dashboard.view</code>

<code>Webbench - Simple Web Benchmark 1.5</code>

<code>Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.</code>

<code>Benchmarking: GET http:</code><code>//192</code><code>.168.1.245</code><code>/zabbix</code><code>.php?action=dashboard.view</code>

<code>100 clients, running 30 sec.</code>

<code>Speed=1676 pages</code><code>/min</code><code>, 355898 bytes</code><code>/sec</code><code>.</code>

<code>Requests: 838 susceed, 0 failed.</code>

说明:-c 100:表示同时产生100个并发连接

   -t 30:表示持续30秒

备注:webbench最大可以模拟30000个并发连接

实战:方法是使用Web Bench进行并发压力测试,选择的页面是http://192.168.1.245/zabbix.php?action=dashboard.view并发请求开始5个,每次循环增加5个进入下轮的循环,每一轮循环持续180s,到达最大200个并发时结束。这样就可以持续做2小时的测试。

for n in `seq 5 5 50` ; do echo -n $n " " ; webbench -c $n -t 60  http://192.168.1.245/zabbix.php?action=dashboard.view  1&gt;/dev/null | grep Speed | awk '{print $1}' | awk -F= '{print $2}' ; echo ; done

<code>[root@zabbix webbench-1.5]</code><code># for n in `seq 5 5 50` ; do echo -n $n " " ; webbench -c $n -t 60  http://192.168.1.245/zabbix.php?action=dashboard.view  1&gt;/dev/null | grep Speed | awk '{print $1}' | awk -F= '{print $2}' ; echo ; done</code>

<code>5  Webbench - Simple Web Benchmark 1.5</code>

<code>10  Webbench - Simple Web Benchmark 1.5</code>

<code>15  Webbench - Simple Web Benchmark 1.5</code>

<code>20  Webbench - Simple Web Benchmark 1.5</code>

<code>25  Webbench - Simple Web Benchmark 1.5</code>

本文转自 lqbyz 51CTO博客,原文链接:http://blog.51cto.com/liqingbiao/1811622

继续阅读