ab工具进行压力测试
简介与安装
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工具进行压力测试的更多相关文章
- (转)使用Apache的ab工具进行压力测试
转:http://www.cnblogs.com/luckyliu/archive/2012/03/04/2379306.html Apache附带的ab工具(本机使用的PHP环境是WAMP集成环境, ...
- 使用ab 进行并发压力测试
使用ab 进行并发压力测试 - 参与商 - 博客园 https://www.cnblogs.com/shenshangzz/p/8340640.html 使用ab 进行并发压力测试 ab全称为:a ...
- Apache ab并发负载压力测试(python+django+mysql+apache)
如标题,大家都知道秒杀中存在高并发使库存骤然为0,但在我们个人PC或小区域内是模拟不出这样的情景 现在利用 Apache ab并发负载压力测试 1,数据库建入库存字段并映射模型 2,view编写脚本 ...
- ab使用详解—如何使用apache性能测试工具进行压力测试
作为后端工程师,除了实现业务需求之外,需要考虑的就是自己写的服务,在大并发下是否能正常运行了.但是,在一般开发情况下,没那么多大并发情况让你测试,那该怎么办呢? 这时候,我们就可以用到apache的压 ...
- ab并发负载压力测试
一.ab 0.安装ab压力测试软件 [root@a2 conf]# yum install httpd-tools -y #查看版本 [root@a2 conf]# ab -V This is Apa ...
- windows Apache ab安装及压力测试
一:安装 ab是Apache自带的网站压力测试工具.使用起来非常的简单和方便.不仅仅是可以Apache服务器进行网站访问压力测试,还可以对其他类型的服务器进行压力测试.比如nginx,tomcat,I ...
- ab命令执行压力测试
ab是Apache超文本传输协议(HTTP)的性能测试工具:设计意图是描绘当前所安装的Apache的执行性能,主要是显示你安装的Apache每秒可以处理多少个请求:ab不仅仅能进行基于apache服务 ...
- Apache ab并发负载压力测试
由于现在网站都需要能够承受高并发要求的能力,所以当我们写完代码后,如果需要上线,最好都经过压力测试后,这样比较好 运行: 在Windows系统下,打开cmd命令行窗口,定位到apache安装目录的bi ...
- apache的ab命令做压力测试
1. 最基本的关心两个选项 -c -n 例: ./ab -c 100 -n 10000 http://127.0.0.1/index.php -c 100 即:每次并发100个-n 10000 即: ...
随机推荐
- solr 安装与配置
1. Solr安装与配置 1.1什么是Solr 大多数搜索引擎应用都必须具有某种搜索功能,问题是搜索功能往往是巨大的资源消耗并且它们由于沉重的数据库加载而拖垮你的应用的性能. 这就是为什么转移负载到一 ...
- Consul集群加入网关服务(Spring Cloud Gateway)
Consul集群加入网关服务 架构示意图 外部的应用或网站通过外部网关服务消费各种服务,内部的生产者本身也可能是消费者,内部消费行为通过内部网关服务消费. 一个内部网关和一个外部网关以及一个Consu ...
- Floyd(弗洛伊德)算法(C语言)
转载:https://blog.csdn.net/qq_35644234/article/details/60875818 Floyd算法的介绍 算法的特点 弗洛伊德算法是解决任意两点间的最短路径的一 ...
- C++宽字符串转字符串
这文章是更改别人代码 #include <string> #include <iostream> #include <stdlib.h> #include < ...
- ubuntu18.04 设置环境变量
1.第一步:命令行输入 sudo gedit /etc/profile 2.第二步:将你想要设置环境变量的内容追加到文件结尾 例如:export JAVA_HOME=/usr/java/latest ...
- 分布式锁的实现【基于ZooKeeper】
引言 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提 ...
- flask之Twitter Bootstrap
一:Twitter Bootstrap是什么? 1.开源框架:提供用户页面组件. 2.可以创建整洁且具有吸引力的网站,并且网站能兼容所有现代的Web浏览器. 特点: Bootstrap 是客户端框架, ...
- springboot cache---本地缓存的使用
使用缓存的几个注解 什么时候需要使用缓存呢?一般是在一个方法的返回值需要被频繁用到.但是返回值很少改变而且执行这个方法会消耗较多的时间,这种情况我们可以考虑将返回值暂时存到内存中,需要时通过对应的唯一 ...
- spring boot 集成 websocket 实现消息主动推送
spring boot 集成 websocket 实现消息主动 前言 http协议是无状态协议,每次请求都不知道前面发生了什么,而且只可以由浏览器端请求服务器端,而不能由服务器去主动通知浏览器端,是单 ...
- LeetCode--052--N皇后II(java)
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 上图为 8 皇后问题的一种解法. 给定一个整数 n,返回 n 皇后不同的解决方案的数量. 示例: 输入 ...