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. Atcoder CF 2017 TR I

    Atcoder CF 2017 TR I 给定一个有n个点,m条边的图,求为每条边定向,使得从1出发和2出发的两个人可以见面的方案数. 先把问题转换成求all-不能见面的方案数.那么可以把图划分成这样 ...

  2. 黑马集合学习 自定义ArrayList01

    package demo; import java.util.Arrays; public class MyArrayList<T> { Object[] t; int size; pri ...

  3. docker的常用操作

    查看所有的镜像: docker images 查看所有的容器: docker ps -a 查看正在运行的容器: docker ps 移除容器: docker rm -f 容器id 移除镜像: dock ...

  4. zookeeper分布式锁简单实现(JavaApi)

    1.创建会话连接 package com.karat.cn.zookeeperAchieveLock.javaapilock; import org.apache.zookeeper.WatchedE ...

  5. Maven with Scala

    下面是一个在Maven使用Scala的pom.xml <?xml version="1.0" encoding="UTF-8" standalone=&q ...

  6. C语言编程思想

    模块化的思想 模块化程序的特点:单入口.单出口 基本的三种结构:顺序.分支(选择).循环: 这三个基本结构来安排模块执行的步骤: 循环三要素:初值.条件.更新: 面对编程问题:三步走策略(输入+处理+ ...

  7. rent bike问题(二分+贪心)

    题目描述: A group of n schoolboys decided to ride bikes. As nobody of them has a bike, the boys need to ...

  8. POJ2686 Traveling by Stagecoach(状压DP)

    题意: 有一个旅行家计划乘马车旅行.他所在的国家里共有m个城市,在城市之间有若干道路相连.从某个城市沿着某条道路到相邻的城市需要乘坐马车.而乘坐马车需要使用车票,每用一张车票只可以通过一条道路.每张车 ...

  9. PV并发UV

    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'返回结果:SYN_RECV 2 (SYN连接请求收到2个 等待确 ...

  10. SQL server数据库端口访问法

    最近数据库连接,也是无意中发现了这个问题,数据库可根据端口来连接 我用的是sql2014测试的,在安装其他程序是默认安装了sql(sql的tcp/ip端口为xxx),服务也不相同,但是由于比较不全,我 ...