在运维工作中,压力测试是一项很重要的工作。比如在一个网站上线之前,能承受多大访问量、在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验。但是,在压力测试中存在一个共性,那就是压力测试的结果与实际负载结果不会完全相同,就算压力测试工作做的再好,也不能保证100%和线上性能指标相同。面对这些问题,我们只能尽量去想方设法去模拟。所以,压力测试非常有必要,有了这些数据,我们就能对自己做维护的平台做到心中有数。

Webbench是知名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发。

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

官方主页:http://home.tiscali.cz/~cz210552/webbench.html

官方介绍:

Web Bench is very simple tool for benchmarking WWW or proxy servers. Uses fork() for simulating multiple clients and can
use HTTP/0.9-HTTP/1.1 requests. This benchmark is not very realistic,
but it can test if your HTTPD can realy handle that many clients at once
(try to run some CGIs) without taking your
machine down. Displays pages/min and bytes/sec. Can be used in more
aggressive mode with -f switch.

1、WebBench安装:

wget http://www.ha97.com/code/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make
make install

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

Apache测试实例结果:
当并发300时,
root [ ~ ]# 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了,说明超负荷了。

root [ ~ ]# 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.

总结:
1、压力测试工作应该放到产品上线之前,而不是上线以后;
2、测试时并发应当由小逐渐加大,比如并发100时观察一下网站负载是多少、打开页面是否流畅,并发200时又是多少、网站打开缓慢时并发是多少、网站打不开时并发又是多少;
3、更详细的进行某个页面测试,如电商网站可以着重测试购物车、推广页面等,因为这些页面占整个网站访问量比重较大。

最新文章

  1. python 代码片段9
  2. NSCharacterSet 简单用法
  3. JavaScript小笔记の经典算法等....
  4. Codeforces 193D Two Segments 解题报告
  5. Jquery多级菜单插件Slimmenu使用说明
  6. Android Weekly Notes Issue #245
  7. Android签名机制---签名过程
  8. 裸辞两个月,海投一个月,从Android转战Web前端的求职之路
  9. WKWebView和WebView与JS的交互方式
  10. 运维shell脚本函数语法
  11. sed指令的奇淫技巧
  12. PHP中的自动加载
  13. MySQL--视图view、触发器trigger、事务(start transaction)、存储过程(特殊的数据逻辑处理函数)、流程控制(if,case....)
  14. 正确释放WORD对象(COM组件) COMException: 被调用的对象已与其客户端断开连接
  15. Ubuntu下安装Apache
  16. Django 使用体会
  17. 机器学习实战:KNN代码报错“AttributeError: 'dict' object has no attribute 'iteritems'”
  18. 【洛谷 P4777】 【模板】扩展中国剩余定理(EXCRT)
  19. Laravel项目使用腾讯云对象存储上传图片(cos-php-sdk-v5版本)
  20. Quick How-To deny/allow IP using iptables

热门文章

  1. 【DeepLearning】Exercise:Sparse Autoencoder
  2. 关于去哪儿网的UI自动化测试脚本
  3. 【Linux】关于减号 - 的用途
  4. 【转】TeXmacs:一个真正“所见即所得”的排版系统
  5. 你永远学不会的设计-->百度地图map api key 的设置
  6. VMware Linux 共享文件夹 虚拟机无共享文件解决方法
  7. Java 8 Lambda排序 : Comparator example
  8. 最强 Android Studio 使用小技巧和快捷键总结
  9. js中多个数字运算后值不对(失真)处理方法
  10. python 搭建ftp服务器