ab (ApacheBench)命令
参数
-n 在测试会话中所执行的请求个数。默认时,仅执行一个请求
-c 一次产生的请求个数。默认是一次一个
-t 测试所进行的最大秒数
-k 启用HTTP KeepAlive功能,则在一个HTTP会话中执行多个请求
-v 设置显示信息的详细程度
 
ab [options] [http://]hostname[:port]/path
 
如: ab -n  -c  -k http://www.cnblogs.com/jincon/archive.html
Concurrency Level
并发的用户数
Time taken for tests
所有请求被处理完成所花费的时间总和
Complete requests
总请求数
Failed requests
失败的请求总数
Requests per second
吞吐率=Complete requests / Time taken for tests
Time per request
用户平均请求等待时间=Time taken for tests /(Complete requests / Concurrency Level)
Time per request
服务器平均请求处理时间=Time taken for tests / Complete requests
Transfer rate
请求单位时间内获取的数据长度
 
GnuPlot
 
安装GnuPlot
yum install GnuPlot
apt-get install GnuPlot
 
首先,使用ab 测试性能,并将测试结果写入ab_500_100.dat文件

ab -n  -c  -g ./ab_500_100.dat -k http://localhost/index.php
 
gnuplot文件内容格式如下
starttime   seconds ctime   dtime   ttime   wait  

Mon Jan  ::             

Mon Jan  ::            
ctime:connection time 
dtime: processing time 
ttime: total time, = connection time + processing time 
wait:wait time 
 
然后,根据导出的gnuplot文件绘制图表,绘制脚本如下
# 设定输出图片的格式
set terminal png # 设定输出的图片文件名
set output "ab_500.png" # 图表的标题
set title "ab_500 ab -n 500 -c 100,200,300" # 设定图表的X轴和Y轴缩放比例(相当于调整图片的纵横比例,方形的不好看啊)
set size ,0.7 # 设定以Y轴数据为基准绘制栅格(就是示例图表中的横向虚线)
set grid y
# X轴标题
set xlabel "request"
# Y轴标题
set ylabel "response time (ms)" # 设定plot的数据文件,曲线风格和图例名称,以第九列数据ttime为基准数据绘图 plot "ab_500_100.dat" using smooth sbezier with lines title "conc per 100", "ab_500_200.dat" using smooth sbezier with lines title "conc per 200", "ab_500_300.dat" using smooth sbezier with lines title "conc per 300" gnuplot> plot "test.dat" u with lines title "ctime",\ >"test.dat" u with lines title "dtime",\ >"test.dat" u with lines title "ttime",\ >"test.dat" u with lines title "wait"
参数说明:

set size 1,0.7 缩放比例,前面是X轴,后面是Y轴, (0, 1]的一个浮点数,1为原始值

using 9 表示用哪一列数据绘图,数字是数据行按照空格或制表符分割的字段数字索引,从1开始

smooth sbezier plot提供的一些数据填充算法以保证线条平滑度的,包含如下选项:smooth {unique | csplines | acsplines | bezier | sbezier},更详细解释请参考官方文档

with lines title "xxx" 这个会再右上角生成一个图例,用于区分什么颜色的线条是哪一项数据

生成的图表如下:

ab (ApacheBench)命令的更多相关文章

  1. PHP使用Apache中的ab(ApacheBench)测试网站的并发量

    AB(ApacheBench) 是 Apache 自带的超文本传输协议 (HTTP) 性能测试工具. 其设计意图是描绘当前所安装的 Apache 的执行性能, 主要是显示 Apache 每秒可以处理多 ...

  2. AB(ApacheBench)工具 -- 压力测试

    服务器负载太大而影响程序效率也是很常见的,Apache服务器自带有一个叫AB(ApacheBench)的工具,可以对服务器进行负载测试 同时美多商城的秒杀功能也会被高负载影响,从而导致超卖现象 安装x ...

  3. ab ApacheBench web测试工具

    http://www.ibm.com/developerworks/cn/linux/l-cn-ulimit/ ApacheBench参数说明 格式:ab [options] [http://]hos ...

  4. Mac下的Web性能压力测试工具:ab(ApacheBench)

    Web开发,少不了的就是压力测试,它是评估一个产品是否合格上线的基本标准. ab是一种用于测试Apache超文本传输协议(HTTP)服务器的工具.apache自带ab工具,可以测试Apache.IIS ...

  5. ab使用命令

    ab使用-A auth-username:password    向服务器提供基本认证信息.用户名和密码之间":"分割,以base64编码形式发送.无论服务器是否需要(即是否发送了 ...

  6. 【转】Web性能压力测试工具之ApacheBench(ab)详解

    PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网 ...

  7. Web压力测试 ApacheBench(ab)

    ApacheBench命令原理 ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试ngin ...

  8. Web性能压力测试工具之ApacheBench(ab)详解

    PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网 ...

  9. [转] Web性能压力测试工具之ApacheBench(ab)详解

    PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网 ...

随机推荐

  1. Knights0.

    Knights t数轴上有n个骑士位于1,2,3,...n,移动速度相同,初始移动方向已知,当两个骑士相遇时,各有50%的概率赢,输了就死了,并且移动到0和n+1的位置时移动方向会翻转,问最右的骑士存 ...

  2. Linux的SSH(Secure Shell Protocol)服务

    在数据传输前,SSH会对需要传输的数据进行加密,保证会话安全与会话中传输数据的安全,SSH客户端还包含一个远程拷贝scp. 1.SSH的结构 SSH服务由服务端软件(openssh)和客户端(SSH. ...

  3. 剑指offer —— 从尾到头打印链表

    1.问题:输入一个链表,从尾到头打印链表每个节点的值. /** * public class ListNode { * int val; * ListNode next = null; * * Lis ...

  4. 牛客nowcoder NOIP普及组第三场

    qtmd AK了 直接题解吧 题目链接 A-十七边形 牛牛想在一个半径为r的圆中,找到一个内接的十七边形,使他的面积最大.输入半径r,输出最大的面积. 1 <= r <= 10000 在1 ...

  5. 数据结构14:队列(Queue),“先进先出”的数据结构

    队列是线性表的一种,在操作数据元素时,和栈一样,有自己的规则:使用队列存取数据元素时,数据元素只能从表的一端进入队列,另一端出队列,如图1. 图1 队列示意图 称进入队列的一端为“队尾”:出队列的一端 ...

  6. springcloud系列三 搭建服务模块

    搭建服务模块为了模拟正式开发环境,只是少写了service层直接在controller里面直接引用,直接上图和代码:更为方便: 创建完成之后加入配置: pom.xml文件: <?xml vers ...

  7. svg path 路径

    许多字母命令(例如:M m)(但不是全部)成对.有一个大写和一个小写版本.大写版本是绝对版本,小写是相对版本.让我们继续以M为例: M 100,100 意思是“拿起笔并将其移动到确切的坐标100,10 ...

  8. HDU-Fibonacci Again(打表找规律)

    There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2). ...

  9. 江西财经大学第一届程序设计竞赛 C

    链接:https://www.nowcoder.com/acm/contest/115/C来源:牛客网 题目描述 决赛圈还剩下两个人,“伏地魔”XDD和跑毒进圈的FZL,XDD拿着狙击枪AWM瞄准并准 ...

  10. case when null then 'xx' else 'yy' end 无效

    Sql Server 中使用case when then 判断某字段是否为null,和判断是否为字符或数字时的写法不一样,而且语法能正常执行, 如果不注意数据内容,很容易搞错. 错误方法: CASE ...