Web网站压力及性能测试工具WebBench使用指南-程序员宅基地

技术标签: java  运维  php  

Webbench是知名的网站压力方面的测试工具,它是由Lionbridge公司开发。

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

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

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

  适用于linux操作系统

  1、WebBench安装:

  wget http://home.tiscali.cz/~cz210552/distfiles/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.1.188/test.php
webbench -c 并发数 -t 运行测试时间 URL

  3、测试结果示例:

  #webbench -c 300 -t 60 http://192.168.1.188/test.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/60= X pages/sec,每秒钟传输数据量20794612 bytes/sec。

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

  #webbench -c 1000 -t 60 http://192.168.1.188/test.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、更详细的进行某个页面测试,如电商网站可以着重测试购物车、推广页面等,因为这些页面占整个网站访问量比重较大。

  备注:webbench 做压力及性能测试时,该软件自身也会消耗CPU和内存资源,为了测试准确,建议将 webbench 安装在其他的服务器上,已达到测试数据更加精确。

 原文发布时间为:2013-01-16

本文来自云栖社区合作伙伴“Linux中国”

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34194551/article/details/90555071

智能推荐

Flink_rak553+554 flylink-程序员宅基地

文章浏览阅读120次。这里写目录标题1 Flink简介1.1 什么是Flink1.2 Flink特点二 Flink整体架构1 Flink简介1.1 什么是Flink1.2 Flink特点二 Flink整体架构_rak553+554 flylink

log4j日志级别以及配置_log4j.appender.d.threshold没有指定这个可以输出什么级别的日志-程序员宅基地

文章浏览阅读507次。日志记录器(Logger)的行为是分等级的。分为 - OFF - FATAL - WARN - INFO - DEBUG - TRACE - ALL Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。 比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志..._log4j.appender.d.threshold没有指定这个可以输出什么级别的日志

JavaCV异常:av_write_frame() error -22 while writing video packet解决方法_av_interleaved_write_frame() error -22 while writi-程序员宅基地

文章浏览阅读4.8k次。av_write_frame()error -22 while writing video packet解决方法问题分析解决方法项目码云(Gitee)地址:https://gitee.com/banmajio/RTSPtoRTMP项目github地址:https://github.com/banmajio/RTSPtoRTMP个人博客:banmajio’s blogjavacv使用f..._av_interleaved_write_frame() error -22 while writing interleaved video packe

Android 模仿android5上的Reveal实现_@color/reveal_color-程序员宅基地

文章浏览阅读1.6k次。模仿android5上的Reveal实现 大家应该都接触过安卓5吧,上面的按钮点击的时候会出现波纹的动画,那个是新出来的一个reveal,但是在低版本的系统上不支持,只能想办法自己实现了,同样也是看到了任老师的实现方法,自己分析了一会儿后,加上了点自己的见解,分享给大家,demo的源码我已经上传了. 实现的基本原理就是,自定义_@color/reveal_color

Cannot create table [data_source]: 1118 - Row size too large. The maximum row size for the used tabl-程序员宅基地

文章浏览阅读4.5k次。1、问题 在导入mysql数据库时,报错:Cannot create table [data_source]: 1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, ..._1118 - row size too large. the maximum row size for the used table type, not

Typora基本技巧_typora技巧-程序员宅基地

文章浏览阅读805次。typora笔记_typora技巧

随便推点

机器学习:调用weka的Classifier分类器代码Demo_weka.classifiers.classifier;-程序员宅基地

文章浏览阅读687次。weka中实现了很多机器学习算法,不管实验室研究或者公司研发,都会或多或少的要使用weka,我的理解是weka是在本地的SparkML,SparkML是分布式的大数据处理机器学习算法,数据量不是很大的时候,使用weka可以模拟出很好的效果,决定使用哪个模型,然后再继续后续的数据挖掘工作。下面总结一个eclipse中调用weka的Classifier分类器代码的Demo,通过这个实例,可以进一步跟..._weka.classifiers.classifier;

使用ThreadMXBean发现死锁_threadmxbean getthreadinfo-程序员宅基地

文章浏览阅读372次。利用JDK自带的ThreadMXBean发现程序中出现的死锁。import java.lang.management.ManagementFactory;import java.lang.management.ThreadInfo;import java.lang.management.ThreadMXBean;import java.util.concurrent.TimeUnit;public class FindDeadLock implements Runnable { i_threadmxbean getthreadinfo

CardView圆角阴影消除的方法_cardcornerradius 圆角有阴影-程序员宅基地

文章浏览阅读3k次。今天我设置了CardView的圆角,但是有阴影,很影响美观。后来经过各种搜索,终于找到了解决办法,那就是将CardView作为根布局:<?xml version="1.0" encoding="utf-8"?><android.support.v7.widget.CardView ="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk_cardcornerradius 圆角有阴影

Json::FastWriter writer的顺序对MD5加密的影响-程序员宅基地

文章浏览阅读1.9k次。Json::FastWriter writer的顺序在使用Json::FastWriter writer会改变josn写入时的顺序,这是因为使用jsoncpp创建文件的时候,它是按照字母表给排序过的,在排序的过程中,需要注意大小字母是不做区分的,还得安装后面字母比对做后面的排序。在使用Json::Value root;写入键值时的顺序,通过writer再写回到字符串时,顺序会发生变化:Json::FastWriter writer; //Json::StyledWriter writer;_json::fastwriter

周中训练总结_中训进步周-程序员宅基地

文章浏览阅读123次。这周刚刚开学,事情还是比较多的,。我还是没课就来集训室刷题看题,感觉自己每天都有一些小进步吧,周一满课,上课完全好似一种享受,因为我能从老师的讲述中扩展出我自己的思考,不过看数论题质量不高。周二只有一节空课,去了集训室刷了一道codeforce A。。。一道题刷了整整2小时。。。补上了Atcoder的题目。周三上午看了点之前的知识,晚上打了比赛,虽然有被虐,但是我们的配合还是不错的,感觉比赛时..._中训进步周

Linux音频驱动-ASOC之Machine_snd-soc-dummy-程序员宅基地

文章浏览阅读950次。https://cloud.tencent.com/developer/article/1603725概述在ASOC小节中描述了整个ASOC的架构,其中Machine是ASOC架构中的关键部件,没有Machine部件,单独的Codec和Platform是无法工作的。因此本节则先从Machine部分开始,那应该如何开始呢? 答案当然是从代码入手,先进入ASOC在kernel中的位置: ..._snd-soc-dummy