ab的全称是Apache Bench,是Apache自带的网络压力测试工具,相比于LR、JMeter,是我所知道的 Http 压力测试工具中最简单、最通用的。

ab命令对发出负载的计算机要求很低,不会占用很高CPU和内存,但也能给目标服务器产生巨大的负载,能实现基础的压力测试。

在进行压力测试时,最好与服务器使用交换机直连,以获取最大的网络吞吐量。

ab的安装很简单,安装Apache会自动安装,如果要单独安装ab,可以使用yum安装:

yum -y install httpd-tools

ab命令选项


ab命令最基本的参数是-n和-c:

-n 执行的请求数量
-c 并发请求个数

其他参数:

-t 测试所进行的最大秒数
-p 包含了需要POST的数据的文件
-T POST数据所使用的Content-type头信息
-k 启用HTTP KeepAlive功能,即在一个HTTP会话中执行多个请求,默认时,不启用KeepAlive功能

命令示例:

ab -n 1000 -c 100 http://www.baidu.com/

ab性能指标


使用ab命令测试的结果,可以参考其中的中文解释:

Document Path:          /  ###请求的资源
Document Length: 50679 bytes ###文档返回的长度,不包括相应头 Concurrency Level: 3000 ###并发个数
Time taken for tests: 30.449 seconds ###总请求时间
Complete requests: 3000 ###总请求数
Failed requests: 0 ###失败的请求数
Write errors: 0
Total transferred: 152745000 bytes
HTML transferred: 152037000 bytes
Requests per second: 98.52 [#/sec] (mean) ###平均每秒的请求数
Time per request: 30449.217 [ms] (mean) ###平均每个请求消耗的时间
Time per request: 10.150 [ms] (mean, across all concurrent requests) ###上面的请求除以并发数
Transfer rate: 4898.81 [Kbytes/sec] received ###传输速率 Connection Times (ms)
min mean[+/-sd] median max
Connect: 2 54 27.1 55 98
Processing: 51 8452 5196.8 7748 30361
Waiting: 50 6539 5432.8 6451 30064
Total: 54 8506 5210.5 7778 30436 Percentage of the requests served within a certain time (ms)
50% 7778 ###50%的请求都在7778Ms内完成
66% 11059
75% 11888
80% 12207
90% 13806
95% 18520
98% 24232
99% 24559
100% 30436 (longest request)

对压力测试的结果重点关注吞吐率(Requests per second)、用户平均请求等待时间(Time per request)指标:

1、吞吐率(Requests per second):

服务器并发处理能力的量化描述,单位是reqs/s,指的是在某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。

记住:吞吐率是基于并发用户数的。这句话代表了两个含义:

a、吞吐率和并发用户数相关

b、不同的并发用户数下,吞吐率一般是不同的

计算公式:总请求数/处理完成这些请求数所花费的时间,即

Request per second=Complete requests/Time taken for tests

必须要说明的是,这个数值表示当前机器的整体性能,值越大越好。

2、用户平均请求等待时间(Time per request):

计算公式:处理完成所有请求数所花费的时间/(总请求数/并发用户数),即:

Time per request=Time taken for tests/(Complete requests/Concurrency Level)

3、服务器平均请求等待时间(Time per request:across all concurrent requests):

计算公式:处理完成所有请求数所花费的时间/总请求数,即:

Time taken for/testsComplete requests

可以看到,它是吞吐率的倒数。

同时,它也等于用户平均请求等待时间/并发用户数,即

Time per request/Concurrency Level。

CentOS服务器Http压力测试之ab的更多相关文章

  1. 压力测试之ab命令

    网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环.只有让服务器处在高压情况下,才能真正体现出软件.硬件等各种设置不当所暴露出的问题. ab是apache自带的压力测试工具.ab非常实用,它不 ...

  2. Linux常用网络工具:Http压力测试之ab

    ab的全称是Apache Bench,是Apache自带的网络压力测试工具,相比于LR.JMeter,是我所知道的 Http 压力测试工具中最简单.最通用的. ab命令对发出负载的计算机要求很低,不会 ...

  3. ab,qps,服务器性能压力

    ab,qps,服务器性能压力   作者及来源: 陳聽溪 - 博客园    收藏到→_→:   摘要: ab,qps,服务器性能压力    http://www.makaidong.com/%E5%8D ...

  4. 服务器压力测试 ab

    1.ab命令原理 Apache自带的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx.lighthttp.IIS等其它Web服务器的压力(测试其它服务器时需单独下载ab压力测试工具 ...

  5. Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程 - VPS侦探

    Web服务器性能/压力测试工具http_load.webbench.ab.Siege使用教程 - VPS侦探 http://soft.vpser.net/test/http_load/http_loa ...

  6. Web服务器性能压力测试工具http_load、webbench、ab、Siege使用教程

    Web服务器性能压力测试工具http_load.webbench.ab.Siege使用教程 作者: feng 日期: 2012/07/25 发表评论 (0) 查看评论   一.http_load 程序 ...

  7. Web服务器性能/压力测试工具http_load、webbench、ab、Siege、loadrunner

    回头看看 Web服务器性能/压力测试工具http_load.webbench.ab.Siege.loadrunner

  8. 压力测试之apache benchmark

    ab 的全称是 ApacheBench , 是 Apache 附带的一个小工具 , 专门用于 HTTP Server 的 benchmark testing , 可以同时模拟多个并发请求.前段时间看到 ...

  9. 网站压力测试之ApacheBench

    ApacheBench是 Apache 附带的一个小工具,专门用于 HTTP Server 的benchmark testing,可以同时模拟多个并发请求.使用yum安装apache,ab工具在/us ...

随机推荐

  1. 【转】华为Java编程军规,每季度代码验收标准

    引言: 这个标准是衡量代码本身的缺陷,也是衡量一个研发人员本身的价值. 军规一:[避免在程序中使用魔鬼数字,必须用有意义的常量来标识.] 军规二:[明确方法的功能,一个方法仅完成一个功能.] 军规三: ...

  2. Linux之cuda安装

    1.下载https://developer.nvidia.com/cuda-downloads 2.双击下载好的deb进行安装 3.sudo apt-get install cuda 4.As par ...

  3. link_mysql的php版

    <?php $str_sql_read="select count(*) as num from userinfo"; $str_sql_del="delete f ...

  4. 利用Form()使绘图可以不消失

    1: public Form1() 2: { 3: InitializeComponent(); 4: this.Show(); 5: Graphics grp = this.CreateGraphi ...

  5. Android OpenGL ES(三)----编程框架

    首先当然是创建Android项目,你可以选择最新的Android Studio也可以选择eclipse都是一样的.我们重点讲解开发OpenGL ES的流程 1.定义顶点着色器和片段着色器 第一节我们讲 ...

  6. Activity生命周期-Android

    Activity常见的三种生命周期: 1.完整生命周期 oncreate-->onstart-->onresume-->onpause-->onstop-->ondest ...

  7. ListView优化-getView优化

    ListView作为Android中最常用的组件之一,其优化方式也比较多. 在使用ListView或是GridView的时候,往往需要自定义数据适配器.一般我们都需要复习getView方法.对于此方法 ...

  8. xenserver xensource.log不断增长

    转载:http://blog.sina.com.cn/s/blog_4ca83f830100xded.html     相信很多人被Xenserver日志填满磁盘空间,导致机器最终挂掉的问题所困扰,我 ...

  9. 另类安装系统——PE工具提取

    1. 在当前系统使用安装工具win$man打开,即pe里集成安装工具 2. 选择安装的磁盘或者分区和引导分区 3. 可以默认下一步 4. 不想更改盘符可以默认下一步 5. 最后完成开始安装部署(还需要 ...

  10. 命令行启动tomcat,怎么配置

    进和你tomcat的安装目录进入里面bin目录下列可以直接在cmd中运行(要进入tomcat的bin目录),也可直接双击startup.bat 启动tomcatshutdown.bat 关闭tomca ...