近期在做 压力測试工具,除了apache的ab測试工具外,发现webbentch工具也不错,这里简介下这两个工具。

一、webbentch安装:

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

假设没有安装ctags。则安装的时候会报错。ctags的安装:

apt-get install ctags

或者依照以下的步骤进行手动安装:

wget http://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gz

   tar zxvf ctags-5.8.tar.gz

   cd ctags-5.8

   ./configure

   make && make install

二、webbentch使用:

  測试原理:指定client的并发数和运行时间。查看server发出的请求中susceed的个数和failed的个数

使用命令:webbentch -c 10000 -t 60 http://xx.xx.xx.156:8082/index.html

-c: 发起请求的client数,也就是我们所说的并发数

-t:运行时间长度

运行结果例如以下:

Webbench - Simple Web Benchmark 1.5

Requests: 1033020 susceed, 5 failed.

Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.



  Benchmarking: GET http://10.103.13.156:8082/index.html

  10000 clients, running 60 sec.

                                                                                                

  Speed=1033025 pages/min, 3856600 bytes/sec.

Requests: 1033020 susceed, 5 failed.

三、apache的ab使用:

測试原理:指定client的并发数和请求总量。计算server每秒能够处理的请求数和每一个请求响应的时间

使用命令:ab -c 10000 -n 80000 http://xx.xx.xx.156:8082/index.html

-c : 发起请求的client数。也就是我们所说的并发数

-n:发起的总请求数

运行结果例如以下:

须要关心的几个參数:Requests per second、Time per request

This is ApacheBench, Version 2.3 <$Revision: 1528965 $>

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Licensed to The Apache Software Foundation, http://www.apache.org/



Benchmarking 10.103.13.156 (be patient)

Completed 8000 requests

Completed 16000 requests

Completed 24000 requests

Completed 32000 requests

Completed 40000 requests

Completed 48000 requests

Completed 56000 requests

Completed 64000 requests

Completed 72000 requests

Completed 80000 requests

Finished 80000 requests





Server Software:        nginx                                             //webserver

Server Hostname:        xx.xx.xx.156                             //webserver地址

Server Port:            8082                                                //webserverport



Document Path:          /index.html                                //请求地址

Document Length:        2 bytes                                    //返回的数据长度



Concurrency Level:      10000                                      //设置的并发数,就是-c设置的值

Time taken for tests:   13.691 seconds                       //全部请求运行完毕所耗费的时间

Complete requests:      80000                                      //完毕的请求数

Failed requests:        0                                                    //失败的请求数

Total transferred:      17920000 bytes                         //传递数据的大小,包含header的信息

HTML transferred:       160000 bytes                           //传递的html的大小。这里的数字等于   (Document Length)  *  (Complete requests)

Requests per second:    5843.27 [#/sec] (mean)      //美妙的请求数,也就是我们server能够承受的实际并发数,即通常所受的rps

Time per request:       1711.371 [ms] (mean)             //每一个请求的响应时间,mean表示是平均值

Time per request:       0.171 [ms] (mean, across all concurrent requests)   //每一个请求的时间。等于   (Time taken for tests * 1000ms) / Complete requests

Transfer rate:          1278.22 [Kbytes/sec] received    //每秒传输的数据量。能够计算是否是带宽的影响



Connection Times (ms)                                                    //时间的统计

              min  mean[+/-sd] median   max

Connect:        2  156 486.3     18    4700

Processing:    12  240 920.8     19   12024

Waiting:       12  240 920.8     18   12024

Total:         29  396 1098.9     37   13050



Percentage of the requests served within a certain time (ms)

  50%     37                             //37毫秒响应了37%的请求

  66%     45                             //45毫秒响应了66%的请求

  75%    143                            //143毫秒响应了75%的请求,以下的以此类推

  80%    258

  90%   1035

  95%   3034

  98%   3702

  99%   6029

 100%  13050 (longest request)



三、注意事项:

在使用webbentch和apache的ab进行压力測试的时候,假设測试的url地址中有多个參数,须要对url中的"&"符号进行转义,输入“\&”就可以;把"&"=>"%26"是没有效果的。

如url为  http://xx.xx.xx.156:8080/info.php?

p1=v1&p2=v2&p3=v3

转换后   http://xx.xx.xx.156:8080/info.php?p1=v1\&p2=v2\&p3=v3

ubuntu 14.04 LTS 安装webbentch压力測试工具的更多相关文章

  1. ubuntu 14.04 lts安装教程:u盘安装ubuntu 14.04 lts步骤

    绿茶小编带来了ubuntu 14.04 lts安装教程,下文详细讲解了u盘安装ubuntu 14.04 lts的步骤,很简单,只需要一个工具就能够轻松使用u盘安装ubuntukylin 14.04系统 ...

  2. Ubuntu 14.04 LTS 安装和配置Bochs

    Ubuntu 14.04 LTS 安装和配置Bochs       系统是:Ubuntu 14.04 LTS 64位 安装的是:bochs-2.6.8 Bochs 需要在 X11 环境下运行,因此你的 ...

  3. Ubuntu 14.04 LTS 安装Docker

    Docker官方是有很详细的安装文档(https://docs.docker.com/engine/installation/ubuntulinux/),这里做了一个Ubuntu 14.04 LTS中 ...

  4. Ubuntu 14.04 LTS 安装Docker(转)

    转自:https://www.cnblogs.com/leolztang/p/5097278.html Docker官方是有很详细的安装文档(https://docs.docker.com/engin ...

  5. Ubuntu 14.04 LTS 安装 Juno 版 OpenStack Keystone

    本文介绍如何在Ubuntu 14.04 LTS 上安装Juno版的Keystone, 我们采用的是手动安装的方式, 同时仅针对OpenStack的身份与访问管理系统Keystone. 事实上OpenS ...

  6. Ubuntu 14.04 LTS 安装 spark 1.6.0 (伪分布式)-26号开始

    需要下载的软件: 1.hadoop-2.6.4.tar.gz 下载网址:http://hadoop.apache.org/releases.html 2.scala-2.11.7.tgz 下载网址:h ...

  7. Ubuntu 14.04 LTS 安装 VNC Viewer

    1.修改镜像源: /etc/apt/sources.list将"http://archive.ubuntu.com/ubuntu/"替换为: http://cn.archive.u ...

  8. Ubuntu 14.04 LTS 安装 NVIDIA 显卡驱动后的屏幕亮度调节问题

    安装 Ubuntu,对于 NVIDIA 显卡,默认情况下会使用第三方开源驱动,并且一般情况下,第三方开源驱动和系统兼容性更好.由于 NVIDIA 显卡驱动不是开放的,所以对 Linux 系统的原生支持 ...

  9. ubuntu 14.04 LTS 安装ss客户端

    附: 配置pac模式 ss客户端 ss客户端 前提环境 python (用最新的就行) pip (注:python工具) build-essential 以上可以通过一条命令解决: sudo apt- ...

随机推荐

  1. iOS启动动画效果实现

    原理 在window上加一个UIImageView它的图片和启动图的图片一样,然后再调整动画 运行展示 demo百度云连接:http://pan.baidu.com/s/1c0QcYu0 more:网 ...

  2. 本博客由CSDN迁移而来,以前的博文可能显示不正常

    如题,原博客地址 http://blog.csdn.net/vicjiao 或点击右侧友链

  3. 瞄一眼CopyOnWriteArrayList(jdk11)

    CopyOnWriteArrayList是ArrayList线程安全的变体.使用写时复制策略进行修改操作. 与之前版本较明显的区别是,jdk11中用来保护所有设值方法(mutator)的Reentra ...

  4. 2017 UESTC Training for Data Structures-解题报告

    题目链接:http://acm.uestc.edu.cn/#/contest/show/155 这个数据结构训练主要针对线段树,树转数组和并查集.比较适合刚入门数据结构的同学. 注意,因为后面题的代码 ...

  5. 22深入理解C指针之---通过指针传递函数

    一.通过指针传递函数与通过指针传递数据的本质是一样的,区别就是此时的数据是函数指针(函数的开始的地址) 1.定义:通过函数指针将函数传入函数:通过函数返回函数指针实现函数返回函数的目标 2.特征: 1 ...

  6. static变量的生命周期

    static生命周期 2011-07-15 16:01 静态变量的类型说明符是static.静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量,例如外部变量虽属于静态存储方式, ...

  7. 初识mysql语句

    操作文件夹(库) 增 create database db1 charset utf8; 查 # 查看当前创建的数据库 show create database db1; # 查看所有的数据库 sho ...

  8. js对象定义的最常用的三种方法

    定义对象:属性和方法的结合体(变量和函数的结合体) 1.(***)var obj = {} 2.var obj = new Object(); 3.使用function定义对象 具体例子分别为: // ...

  9. 微信小程序 本地缓存保持登录状态之wx.setStorageSync()使用技巧

    微信小程序提供了一个如同浏览器cookie本地缓存方法,那就是今天要说的wx.setStorageSync() 注意,该方法是同步请求,还有个异步请求的方法是wx.setStorage(),参考官方文 ...

  10. vue生命周期回调方法

    最近在用vue开发一个商品列表页,因需要根据请求回的字段是否有内容来显示隐藏该字段, 但因为vue异步加载导致显示隐藏方法不起作业(主要是判断条件取不到页面渲染内容),围观了vue生命周期后发现upd ...