压力测试工具-webbench

简述

偶然情况下看到一款性能测试工具webbench,看着挺不错的记录一下安装过程,在以后项目上线过程中可以压一压一些页面的并发情况,对项目性能有个大致的了解。

原理

webbench首先fork出多个子进程,每个子进程都循环做web访问测试。子进程把访问的结果通过pipe告诉父进程,父进程做最终的统计结果百科介绍

安装过程

yum install -y gcc ctags
wget http://www.ha97.com/code/webbench-1.5.tar.gz
tar -xvf  webbench-1.5.tar.gz
cd webbench-1.5
mkdir /usr/local/man
mkdir /usr/local/man/man1
make &&make install

 使用说明

通过webbench --help 命令查看

webbench --help
webbench [option]... URL
  -f|--force               Don't wait for reply from server.
  -r|--reload              Send reload request - Pragma: no-cache.
  -t|--time <sec>          Run benchmark for <sec> seconds. Default 30.
  -p|--proxy <server:port> Use proxy server for request.
  -c|--clients <n>         Run <n> 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.

 使用

不是专业测试,再次使用此工具模拟对一个项目进行压测,使用两个参数 c 并发客户端数,t 运行时长,我们来对http://192.168.200.102/做压测看测试报告内容

执行命令:webbench -c 1000 -t 30 http://192.168.200.102/
命令就是用10个客户端并发百度网站30秒。

[root@nginx ~]# webbench -c 1000 -t 30 http://192.168.200.102/
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://192.168.200.102/
1000 clients, running 30 sec.

Speed=81146 pages/min, 879834 bytes/sec.
Requests: 31573 susceed, 9000 failed.

 测试结果说明:

速度:每秒钟响应请求数:81146 pages/min,每秒钟传输数据量879834 bytes/sec.
返回数:31573次返回成功,9000次返回失败

备注:
1、压力测试工作应该放到产品上线之前进行
2、测试时尽量跨公网模拟正式环境进行
3、测试时并发应当由小逐渐加大,比如并发100时观察一下网站负载是多少、打开是否流程,并发200时又是多少、网站打开缓慢时并发是多少、网站打不开时并发又是多少

方法是使用Web Bench进行并发压力测试,选择的页面是index.html,并发请求开始5个,每次循环增加5个进入下轮的循环,每一轮循环持续60s,到达最大50个并发时结束。

for n in `seq 5 5 50`
do
echo -n $n " "
webbench -c $n -t 60 http://192.168.200.102/index.html 2>/dev/null | grep Speed | awk '{print $1}' | awk -F= '{print $2}'
echo
done

 本文转至:https://www.cnblogs.com/xiuluo--angel/p/7092896.html

 

posted @ 2018-09-01 01:31  我的城市没有海  阅读(149)  评论(0)    收藏  举报