简介与安装

ab:Apache Benchmark,只要我们安装了Apache,就能够在Apache的安装目录中找到它.

yum | apt 安装的Apache  ab的目录一般为/usr/bin 也可以通过 which ab 查看

ab 不仅仅针对apache服务器的网站进行压力测试,nginx、tomcat、IIS等其他服务器也可以进行压力测试.

不能或不想安装Apache,也可以使用ab,安装Apache的工具包httpd-tools即可:

yum -y install httpd-tools    //安装
ab -V //检测是否成功安装

用法简单说明

切换到 ab所在目录    ab -help 查看用法介绍

可以看出:使用方式为

ab  [可选的参数]   要进行压力测试的URL    

参数说明

-n  即requests,用于指定压力测试总共的执行次数。

-c  即concurrency,用于指定压力测试的并发数。

-t   即timelimit,等待响应的最大时间(单位:秒)。

-b  即windowsize,TCP发送/接收的缓冲大小(单位:字节)。

-p  即postfile,发送POST请求时需要上传的文件,此外还必须设置-T参数。

-u  即putfile,发送PUT请求时需要上传的文件,此外还必须设置-T参数。

-T  即content-type,用于设置Content-Type请求头信息,例如:application/x-www-form-urlencoded,默认值为text/plain

-v   即verbosity,指定打印帮助信息的冗余级别。

-w  以HTML表格形式打印结果。

-i   使用HEAD请求代替GET请求。

-x  插入字符串作为table标签的属性。

-y  插入字符串作为tr标签的属性。

-z  插入字符串作为td标签的属性。

-C  添加cookie信息,例如:"Apache=1234"(可以重复该参数选项以添加多个)。

-H  添加任意的请求头,例如:"Accept-Encoding: gzip",请求头将会添加在现有的多个请求头之后(可以重复该参数选项以添加多个)。

-A  添加一个基本的网络认证信息,用户名和密码之间用英文冒号隔开。

-P  添加一个基本的代理认证信息,用户名和密码之间用英文冒号隔开。

-X  指定使用的代理服务器和端口号,例如:"126.10.10.3:88"。

-V  打印版本号并退出。

-k  使用HTTP的KeepAlive特性。

-d  不显示百分比。

-S  不显示预估和警告信息。

-g  输出结果信息到gnuplot格式的文件中。

-e  输出结果信息到CSV格式的文件中。

-r  指定接收到错误信息时不退出程序。

-h  显示用法信息,其实就是ab -help

实际应用及简单说明

如:    ab -c -n http://dev2.lystrong.cn/

Server Software: Apache/2.4.18                          (服务器软件名称及版本信息)
Server Hostname: dev2.lystrong.cn                     (服务器主机名)
Server Port: 80                                                      (服务器端口)

Document Path: /                                                   (供测试的URL路径)
Document Length: 0 bytes                                     (供测试的url返回的文档大小)

Concurrency Level: 100                                         (并发数)
Time taken for tests: 3.927 seconds                      (压力测试消耗的总时间)
Complete requests: 1000                                       (压力测试的总次数)

Failed requests: 0                                                   (失败的请求数)
Total transferred: 225000 bytes                              (传输的总数据量)
HTML transferred: 0 bytes                                      (HTML文档总数据量)
Requests per second: 254.67 [#/sec] (mean)         (平均每秒的请求数)
Time per request: 392.661 [ms] (mean)                  (所有并发用户请求一次的平均时间 此处为100)
Time per request: 3.927 [ms] (mean, across all concurrent requests)          (单个用户请求一次的平均时间)
Transfer rate: 55.96 [Kbytes/sec] received             (传输速率  单位 :KB/S)

Connection Times (ms)
min mean[+/-sd] median max
Connect: 3 17 108.7 5 1005
Processing: 8 235 201.5 239 3409
Waiting: 8 234 200.9 239 3409
Total: 13 252 234.2 243 3413

Percentage of the requests served within a certain time (ms)
50% 243
66% 314
75% 326
80% 332
90% 345
95% 507
98% 966
99% 1337
100% 3413 (longest request)

可以测试很高的总请求次数和高并发数,模拟高压力情况,Apache拒绝访问 或服务器打开文件太多

出现 Too many open files (24)主要是因为文件打开数的限制,默认情况下是1024,可以使用ulimit -n查看,可以看出系统默认open files的1024不足以支撑测试,

使用

ulimit -SHn 65536  //临时更改文件打开数

出现:

Benchmarking dev2.lystrong.cn (be patient)
Test aborted after 10 failures
apr_socket_connect():

Apache拒绝访问了

  

ab工具进行压力测试的更多相关文章

  1. (转)使用Apache的ab工具进行压力测试

    转:http://www.cnblogs.com/luckyliu/archive/2012/03/04/2379306.html Apache附带的ab工具(本机使用的PHP环境是WAMP集成环境, ...

  2. 使用ab 进行并发压力测试

    使用ab 进行并发压力测试 - 参与商 - 博客园 https://www.cnblogs.com/shenshangzz/p/8340640.html 使用ab 进行并发压力测试   ab全称为:a ...

  3. Apache ab并发负载压力测试(python+django+mysql+apache)

    如标题,大家都知道秒杀中存在高并发使库存骤然为0,但在我们个人PC或小区域内是模拟不出这样的情景 现在利用 Apache ab并发负载压力测试 1,数据库建入库存字段并映射模型 2,view编写脚本 ...

  4. ab使用详解—如何使用apache性能测试工具进行压力测试

    作为后端工程师,除了实现业务需求之外,需要考虑的就是自己写的服务,在大并发下是否能正常运行了.但是,在一般开发情况下,没那么多大并发情况让你测试,那该怎么办呢? 这时候,我们就可以用到apache的压 ...

  5. ab并发负载压力测试

    一.ab 0.安装ab压力测试软件 [root@a2 conf]# yum install httpd-tools -y #查看版本 [root@a2 conf]# ab -V This is Apa ...

  6. windows Apache ab安装及压力测试

    一:安装 ab是Apache自带的网站压力测试工具.使用起来非常的简单和方便.不仅仅是可以Apache服务器进行网站访问压力测试,还可以对其他类型的服务器进行压力测试.比如nginx,tomcat,I ...

  7. ab命令执行压力测试

    ab是Apache超文本传输协议(HTTP)的性能测试工具:设计意图是描绘当前所安装的Apache的执行性能,主要是显示你安装的Apache每秒可以处理多少个请求:ab不仅仅能进行基于apache服务 ...

  8. Apache ab并发负载压力测试

    由于现在网站都需要能够承受高并发要求的能力,所以当我们写完代码后,如果需要上线,最好都经过压力测试后,这样比较好 运行: 在Windows系统下,打开cmd命令行窗口,定位到apache安装目录的bi ...

  9. apache的ab命令做压力测试

    1. 最基本的关心两个选项 -c -n 例: ./ab -c 100 -n 10000 http://127.0.0.1/index.php -c 100 即:每次并发100个-n 10000 即: ...

随机推荐

  1. java 泛型的内部原理:类型擦除以及类型擦除带来的问题

    一.Java泛型的实现方法:类型擦除前面已经说了,Java的泛型是伪泛型.为什么说Java的泛型是伪泛型呢?因为,在编译期间,所有的泛型信息都会被擦除掉.正确理解泛型概念的首要前提是理解类型擦出(ty ...

  2. 敌兵布阵 HDU 1166 线段树

    敌兵布阵 HDU 1166 线段树 题意 这个题是用中文来描写的,很简单,没什么弯. 解题思路 这个题肯定就是用线段树来做了,不过当时想了一下可不可用差分来做,因为不熟练就还是用了线段树来做,几乎就是 ...

  3. Python笔记(读取txt文件中的数据)

    在机器学习中,常常需要读取txt文本中的数据,这里主要整理了两种读取数据的方式 数据内容 共有四列数据,前三列为特征值,最后一列为数据标签 40920 8.326976 0.953952 3 1448 ...

  4. C#设计模式:职责链模式(Chain of Responsibility)

    一,什么是职责链模式(Chain of Responsibility) 职责链模式是一种行为模式,为解除请求的发送者和接收者之间的耦合,而使多个对象都有机会处理这个请求.将这些对象连接成一条链,并沿着 ...

  5. JavaScript —— 关于for in 与 for of 的区别

    for in是ES5标准,遍历key,遍历的是数组的索引(即键名): for of是ES6标准,遍历value,遍历的是数组元素值: Object.prototype.objCustom = func ...

  6. 下载-MS SQL Server 2005(大全版)含开发人员版、企业版、标准版【转】

    中文名称:微软SQL Server 2005 英文名称:MS SQL Server 2005资源类型:ISO版本:开发人员版.企业版.标准版发行时间:2006年制作发行:微软公司地区:大陆语言:普通话 ...

  7. python基础--3 列表

    #list类#li是list类的一个对象li=[11,22,33,22,44] #参数#在原来值最后进行整个作为元素追加 # li.append((11,22,33))#对列表本身进行操作,appen ...

  8. hdu 4643 GSM(暴力)

    GSM Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submis ...

  9. No qualifying bean of type xxx' available 的一种解决方法

    获取bean Class beanClass = Class.forName(event.className); FilterEvent filterEvent = (FilterEvent)Bean ...

  10. less:运算

    less中的运算 -任何数字.颜色或者变量都可以参加运算,运算应该被包裹在括号中. -例如:+-*. @width: 30px; .box { width: (20 + 5) * @width; } ...