【OpenSource】--Web Bench 1.5

【简介】linux下开源软件webbench-1.5简介

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.

Web Bench 是一款非常简单的测试网站服务器或代理服务器的工具,利用linux下的fork()函数产生多个子进程,模拟多个客户端进行压力测试。可以发送http/0.9-http/1.1类型的请求。该软件可测试一个网站的多用户压力访问问题。通过pages/min 和 bytes/sec两个参数反应网站的性能,并且又多种选择模式。返回两项内容:每秒钟相应请求数和每秒钟传输数据量。webbench不但能具有静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进行测试的能力。还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试。

官方网站: http://home.tiscali.cz/~cz210552/webbench.html

下载地址:$ wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz

解压文件:tar xzvf webbench-1.5.tar.gz //vxzf:-z 是配合解压.gz的  -x 解开一个包文件 -v 显示详细信息  -f 必须,表示使用归档文件// 将压缩包解压到主文件夹下

进入工程:cd webbench-1.5

编译安装:sudo make && make install

可能遇到问题:

1.提示ctags命令解析不了:sudo apt-get install ctags  //提示安装exuberant-ctags[ubuntu12.04]

2.无法创建普通文件"/usr/local/bin/webbench":权限不够:

  2.1根目录下进入usr: cd /usr/  2.2 修改local文件夹权限:sudo chmod a+w -R local/

【压力测试】运行webbench

1.运行: cd webbench1.5  ./webbench

2.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.//-h指定运行时间
  -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.

【指令】webbench -c 100 -t 10 http://www.baidu.com/  //100个客户端,10s内运行

【结果】Webbench - Simple Web Benchmark 1.5 Benchmarking: GET http://www.baidu.com/

    10 clients, running 10 sec.

    Speed=390 pages/min, 468967 bytes/sec.
[转载]

举个查看每分种处理多少pages的测试例子,计划压力测试2小时:
方法是使用Web Bench进行并发压力测试,选择的页面是phpinfo.php,并发请求开始5个,每次循环增加5个进入下轮的循环,每一轮循环持续180s,到达最大200个并发时结束。这样就可以持续做2小时的测试。

[[email protected] webbench-1.5]$ for n in `seq 5 5 50` ; do echo -n $n " " ; webbench -c $n -t 60 http://127.0.0.1/phpinfo.php 2>/dev/null | grep Speed | awk ‘{print $1}‘ | awk -F= ‘{print $2}‘ ; echo ; done

# 可以得到下面数据:
clints Pages/Min
5 6824
10 6888
15 6849
20 6867
25 6892
30 6865
35 6846
40 6739
45 6699
50 6880
55 6831
60 6861
65 6847
70 6852
75 6818
80 6813
85 6858
90 6825
95 6840
100 6893
100 6871
105 6858
110 6890
115 6866
120 6893
125 6912
130 6857
135 6892
140 6874
145 6868
150 6891
155 6862
160 6893
165 6877
170 6872
175 6899
180 6855
185 6900
190 6882
195 6890
200 6904

[转载补充]

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

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

时间: 2024-10-21 21:55:13

【OpenSource】--Web Bench 1.5的相关文章

【ABAP】SELECT-ENDSELECT尽量不要用

ABAP中支持一种SELECT-ENDSELECT的结构,就是可以在SELECT中对取得的每一行数据(或是几个字段)可以先放入一个行结构(或是几个字段)中,再做处理.初看似乎觉得蛮有用的,的确这个结构本身就是为了方便处理数据的.但是,如果你滥用了这种结构,那么会严重影响程序性能.我接触过的一个报表程序就是用了这种结构,结果系统运行半年后,这张报表就不能用,原因是什么呢?就是因为数据量大了之后,在SELECT和END SELECT之间做处理的时间会很长,从而导致数据库端因为连接超时而断开.由此可以

【转】VS2010新建Web网站与新建Web应用程序的区别

在Visual Studio 2010中,除了可以使用"创建Web应用程序"的方式来构建自己的Web项目之外,还可以通过创建"Web网站"的方式来构建Web项其中,Web网站的创建方法:打开Visual Studio 2010主窗体,在菜单栏里选择"文件"|"新建|网站"命令,在弹出的"新建网站"窗体里可以通过"ASP.NET 网站"和"空网站"这两种模板来创建自己的

【OpenSource】--TinyHttpD

[源码下载]http://sourceforge.net/projects/tinyhttpd/files/tinyhttpd%20source/tinyhttpd%200.1.0/tinyhttpd-0.1.0.tar.gz/download [编译环境]ubuntu14.04+gcc [运 行]工程利用了多线程,需要链接多线程的库libpthread.so:直接编译httpd.c源文件 $ gcc -o 程序名 源文件.c -lpthread   然后在浏览器输入: localhost:程序

二十三、【开源】EFW框架Web前端开发之常用组件(FusionCharts图表、ReportAll报表等)

回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan.baidu.com/s/1o6MAKCa 前言:上一章讲了EFW框架中的界面框架JqueryEasyUI,在一个Web系统开发中除了需要一个好的界面框架还有需要一些功能,比如:图表展示.Web报表预览打印.文件上传.文本编辑等功能在Web系统开发过程中也是经常用到的:为了方便大家使用EFW框架开发系统,本人

【Servlet】常用技术web

Servlet的概述 什么是Servlet?: Servlet是在服务器端的一个小的java程序,接收和相应从客户端发送的请求.Servlet的作用: 处理来自客户端的请求,并且对请求做出相应的响应.使用Servlet :(Servlet的简单案例:即入门) * 编写一个类实现Servlet的接口. public class servletTest01 implements Servlet{ @Override public void service(ServletRequest request

【转】HTTP学习---Web 缓存

[原文]https://www.toutiao.com/i6592743068623962632/ 1. 前端缓存概述 前端缓存主要是分为HTTP缓存和浏览器缓存.其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务器代码上设置:而浏览器缓存则主要由前端开发在前端js上进行设置.下面会分别具体描述. 2. 前端缓存分类 2.1 HTTP缓存 整体流程 HTTP缓存都是从第二次请求开始的. 第一次请求资源时,服务器返回资源,并在respone header头中回传资源的缓存参数:第二次请求

【干货】ORACLE-AWR报告分析

1.什么是AWR? AWR (Automatic Workload Repository) 是自动负载信息库的英文缩写,AWR报告是Oracle 10g以后版本提供的一种性能收集和分析工具,能提供一个时间段内整个系统资源使用情况的报告,通过报告可以了解一个系统的整个运行情况,生成的报告包括多个部分. AWR每小时对v$active_session_history视图(内存中的ASH采集信息,理论为1小时)进行采样一次,并将信息保存到磁盘中,并且保留7天,7天后旧的记录才会被覆盖.这些采样信息被保

【转载】中国互联网--墙的故事

互联网 - 互联半个中国 截至2012年底,中国网民数量达5.64亿,全国共有网站268万.(数据来源:中国互联网络信息中心CNNIC). 内外有别 海底光缆.同步卫星将中国的网络与国际互联网紧密联结,中国的网络出口带宽达每秒数百万兆.然而,许多在境外能够流畅访问的网站,在中国境内却是无法访问的,比如Twitter, Facebook, YouTube等.德国之声也不幸位列其中. 官方从未正式承认的高墙 与那些不受官方待见的网站所进行的数据通讯,将会被一套精密的系统所拦截.阻断.民间通常把它称作

【python】python-os模块的常用函数

部分安卓手机的文件路径为/storage/emulated/0/文件或文件夹名 os.path.join('bin','usr'-) 返回一个字符串,bin/usros.getcwd() 返回字符串 当前目录os.chdir() 设置工作路径os.makedirs() 创建新的文件夹os.path.abspath() 传入相对路径,返回绝对路径os.path.isabs() 传入字符串,返回布尔值,是相对路径返回True,反之Falseos.path.dirname() 传入字符串,返回最后一个