简介与安装

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. WPF ControlTemplate

    ControlTemplate:控件模板,顾名思义也就是定制特定的控件供公共调用,有点类似WinForm中对一些通用控件进行重写使用. ControlTemplate:控件模板主要有两个重要属性:Vi ...

  2. Codeforces 1042C (贪心+模拟)

    题面 传送门 分析 思路简单,但代码较复杂的贪心 分类讨论: 有0 负数有奇数个:将绝对值最小(实际最大)的负数和0全部乘到一起,最后删掉0 负数有偶数个:将0全部乘到一起,最后删掉0 没有0 负数有 ...

  3. ex3 多分类和神经网络

    介绍 在本练习中,您将实现一对多逻辑回归和神经识别手写数字的网络.在开始编程之前练习,我们强烈建议观看视频讲座并完成相关主题的复习问题.要开始练习,您需要下载起始代码并将其内容解压缩到要完成练习的目录 ...

  4. 高性能和可扩展的React-Redux

    注意:文章很长,只想了解逻辑而不深入的,可以直接跳到总结部分. 初识 首先,从它暴露对外的API开始 ReactReduxContext /* 提供了 React.createContext(null ...

  5. window.onload和document.ready的区别

    window.onload和document.ready虽然两个方法的运行效果都一样,但他们之间是存在着区别的: 一.从执行的时间 window.onload在dom文档结构加载完毕以后就可以执行,不 ...

  6. vue主动刷新页面及列表数据删除后的刷新方法

    在继刷新当前页面,重载页面数据那篇之后 那一篇 深入理解数据驱动 以上算是开发过程中的一个坑,用了一段时间,今天再读代码的时候,感觉被坑的很严重. 1. 获取列表方法 2.重新获取数据 3.这样再次调 ...

  7. 后台PDF返回Base64,前台接收预览

    读取已存在的PDF文件,path为绝对路径 string base64String = "";byte[] buffer=null; using (FileStream fs = ...

  8. How to compile and install Linux Kernel 5.1.2 from source code

    How to compile and install Linux Kernel 5.1.2 from source code Compiling a custom kernel has its adv ...

  9. Perl脚本通过Expect登陆多台设备批量执行命令并Log

    本例子尝试使用Perl脚本借助Expect模块实现如下目的: 登陆多台设备 设备登陆信息按如下格式存放于文件中. $ cat hosts.txt 192.168.30.7:node1:telnet:b ...

  10. python中常用的时间操作

    python中常用的时间模块有time和datetime,以下是这两个模块中常用的方法: #先引入模块 import timefrom datetime import datetiem, timezo ...