使用Webbench测试当前Web服务器的性能

Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。

安装

wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install

使用示例

#WebBench使用
webbench -c 1000 -t 60 http://192.168.80.157/phpinfo.php
#webbench -c 并发数 -t 运行测试时间 URL

#Apache测试实例结果:

#当并发300时,
webbench -c 300 -t 60 http://192.168.80.157/phpinfo.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://192.168.80.157/phpinfo.php
300 clients, running 60 sec.

Speed=24525 pages/min, 20794612 bytes/sec.
Requests: 24525 susceed, 0 failed.

#每秒钟响应请求数:24525 pages/min,每秒钟传输数据量20794612 bytes/sec.

#当并发1000时,已经显示有87个连接failed了,说明超负荷了。

webbench -c 1000 -t 60 http://192.168.80.157/phpinfo.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://192.168.80.157/phpinfo.php
1000 clients, running 60 sec.

Speed=24920 pages/min, 21037312 bytes/sec.
Requests: 24833 susceed, 87 failed.

#并发1000运行60秒后产生的TCP连接数12000多个:

webbench.png

具体参数详解:

短参数长参数作用
-f--force不需要等待服务器响应
-r--reload发送重新加载请求
-t--time运行多长时间,单位:秒"
-p--proxy server:port使用代理服务器来发送请求
-c--clients创建多少个客户端,默认1个"
-9--http09使用 HTTP/0.9
-1--http10使用 HTTP/1.0 协议
-2--http11使用 HTTP/1.1 协议
--get 使用 GET请求方法
--head 使用 HEAD请求方法
--options 使用 OPTIONS请求方法
--trace 使用 TRACE请求方法
-?/-h--help打印帮助信息
-V--version显示版本号

总结:

  • 1、压力测试工作应该放到产品上线之前,而不是上线以后;
  • 2、测试时并发应当由小逐渐加大,比如并发100时观察一下网站负载是多少、打开页面是否流畅,并发200时又是多少、网站打开缓慢时并发是多少、网站打不开时并发又是多少;
  • 3、更详细的进行某个页面测试,如电商网站可以着重测试购物车、推广页面等,因为这些页面占整个网站访问量比重较大。
最后修改:2017 年 08 月 12 日 07 : 06 PM
如果觉得我的文章对你有用,请随意赞赏

2 条评论

  1. 懿古今

    压力测试工作应该放到产品上线之前,而不是上线以后;这个一般人都做不到,很多都是中途才想起想要测试一下

    1. 明月登楼
      @懿古今

      是的,只有专业的运维人员才会这么的流程化的!不过,中途想起也不晚的!就是了解一下服务器的极限做个参考而已!

发表评论