[转帖]AB压力测试工具在LINUX下的安装和使用

ab,压力,测试工具,linux,安装,使用 · 浏览次数 : 0

小编点评

**AB安装和参数说明** **安装:** 1. 下载 Apache 的最新版本。 2. 解压缩并运行安装程序。 3. 配置并启动 Apache。 **参数说明:** * **-n/t**:设置压力测试执行次数。 * **-c/m**:设置并发数。 * **-t**:设置响应超时时间。 * **-b**:设置 TCP 发送/接收缓冲大小。 * **-p**:设置 POST 请求的上传文件。 * **-u/v**:设置 Content-Type 请求头信息。 * **-w**:以 HTML 表格形式打印结果。 * **-i**:使用 HEAD 请求代替 GET 请求。 * **-x**:插入字符串作为表格属性。 * **-y**:插入字符串作为 tr 属性。 * **-z**:插入字符串作为 td 属性。 * **-C**:添加 cookie 信息。 * **-H**:添加任意的请求头。 * **-A**:添加网络认证信息。 * **-P**:添加代理认证信息。 * **-X**:指定使用的端口号。 * **-V**:打印版本号并退出。 * **-k**:启用 HTTP 续连接。 * **-d**:不显示百分比。 * **-S**:不显示预估和警告信息。 * **-g**:输出结果信息到 gnuplot 格式的文件中。 * **-e**:输出结果信息到 CSV 格式的文件中。 * **-r**:指定接收错误信息时不退出程序。 * **-h**:显示用法信息。 **常用测试方式:** * `ab -n 100 -c 10 http://www.xxx.com/`:一次请求 100 次,每次并发 10 次。 * `ab -v -w`:打印详细结果,并以 HTML 表格形式显示。

正文

https://www.freesion.com/article/75371454707/

 

一、AB的安装

ab的安装非常简单,如果是源码安装apache的话,那就更简单了。apache安装完毕后ab命令存放在apache安装目录的bin目录下。如下:

/usr/local/apache2/bin

注意:如果不想安装apache但是又想使用ab命令的话,我们可以直接安装apache的工具包httpd-tools。如下:

yum -y install httpd-tools

查看ab是否安装成功,如果是yum安装可直接执行 ab 查看是否安装成功,apache可以切换到上述目录下,使用ab命令进行检测。如下:

ab

如果ab安装成功,通过ab 命令则会显示ab的参数,如下图示。
在这里插入图片描述

注意以上是在linux平台下进行安装的,如果是windows平台下,我们也可以下载对应的apache版本进行安装。

二、参数说明

此外,我们再根据上面的用法介绍界面来详细了解每个参数选项的作用。
-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 -n 100 -c 10 http://www.xxx.com/

说明:一共请求一百次,每次并发10次,注意域名后不需带“/”否则不成功。

四、返回内容解释

Server Software:        nginx/1.10.2 (服务器软件名称及版本信息)
Server Hostname:        192.168.1.106(服务器主机名)
Server Port:            80 (服务器端口)
Document Path:          /index1.html. (供测试的URL路径)
Document Length:        3721 bytes (供测试的URL返回的文档大小)
Concurrency Level:      1000 (并发数)
Time taken for tests:   2.327 seconds (压力测试消耗的总时间)
Complete requests:      5000 (的总次数)
Failed requests:        688 (失败的请求数)
Write errors:           0 (网络连接写入错误数)
Total transferred:      17402975 bytes (传输的总数据量)
HTML transferred:       16275725 bytes (HTML文档的总数据量)
Requests per second:    2148.98 [#/sec] (mean) (平均每秒的请求数) 这个是非常重要的参数数值,服务器的吞吐量 
Time per request:       465.338 [ms] (mean) (所有并发用户(这里是1000)都请求一次的平均时间)
Time  request:       0.247 [ms] (mean, across all concurrent requests) (单个用户请求一次的平均时间)
Transfer rate:          7304.41 [Kbytes/sec] received 每秒获取的数据长度 (传输速率,单位:KB/s)
...
Percentage of the requests served within a certain time (ms)
  50%    347  ## 50%的请求在347ms内返回 
  66%    401  ## 60%的请求在401ms内返回 
  75%    431
  80%    516
  90%    600
  95%    846
  98%   1571
  99%   1593
 100%   1619 (longest request)

五、注意事项

  1. 测试机与被测试机要分开
  2. 不要对线上的服务器做压力测试
  3. 观察测试工具ab所在机器,以及被测试的前端机的CPU、内存、网络等都不超过最高限度的75%
  4. ab工具也算是一种ddos攻击工具

与[转帖]AB压力测试工具在LINUX下的安装和使用相似的内容:

[转帖]AB压力测试工具在LINUX下的安装和使用

https://www.freesion.com/article/75371454707/ 一、AB的安装 ab的安装非常简单,如果是源码安装apache的话,那就更简单了。apache安装完毕后ab命令存放在apache安装目录的bin目录下。如下: /usr/local/apache2/bin

[转帖]CentOS7 ab压力测试安装与解释

#背景 Apache Benchmark(简称ab) 是Apache安装包中自带的压力测试工具 ,简单易用在此提供 ab 在 centOS7 下的安装和使用方法注:个人发现,之前安装的centos6.5 默认已安装了ab,具体原因不明 ①.ab(apache benchmark)安装 命令:# yu

[转帖]Linux学习14-ab报错apr_pollset_poll: The timeout specified has expired (70007)

https://www.cnblogs.com/yoyoketang/p/10255100.html 前言 使用ab压力测试时候出现报错apr_pollset_poll: The timeout specified has expired (70007),本篇总结了几个ab常见的报错和对应解决办法当

[转帖]Apache的ab进行并发性能测试的注意点

http://www.piaoyi.org/linux/Apache-ab-test.html 正 文: ab命令原理 Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx、lighthttp、IIS等其它Web服务器的压力。 ab命令对发出负载的计算机要求很低,既不会

[转帖]Nginx 性能测试

https://plantegg.github.io/2022/10/10/Nginx%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95/ 压测工具选择 wrk ,apache ab压nginx单核没问题,多核的话 ab 自己先到瓶颈。另外默认关闭 access.log 避免

[转帖]Redis压测工具(redis-benchmark)

目录 1、简介 2、参数 3、操作 1、简介 Redis 自带了一个叫 redis-benchmark 的工具来模拟 N 个客户端同时发出 M 个请求。(类似于 Apache ab 程序)。 Redis下载地址: https://redis.io/download 2、参数 redis-benchm

[转帖]一次海光物理机资源竞争压测的记录

一次海光物理机资源竞争压测的记录 https://plantegg.github.io/2021/03/07/%E4%B8%80%E6%AC%A1%E6%B5%B7%E5%85%89%E7%89%A9%E7%90%86%E6%9C%BA%E8%B5%84%E6%BA%90%E7%AB%9E%E4%B

[转帖]一次海光物理机资源竞争压测的记录

一次海光物理机资源竞争压测的记录 https://plantegg.github.io/2021/03/07/%E4%B8%80%E6%AC%A1%E6%B5%B7%E5%85%89%E7%89%A9%E7%90%86%E6%9C%BA%E8%B5%84%E6%BA%90%E7%AB%9E%E4%B

[转帖]apr_socket_recv: Connection reset by peer 错误

用ab做性能测试. 并发请求量稍微高一点(200,300以上)就会报apr_socket_recv: Connection reset by peer 的错. 刚开始以为apache服务器设置有问题. 网上一顿找, 结果你也懂的. 按照咱国家特殊国情惯例, 都是同一篇文章考来考去. 最后还是找到一个

[转帖]RCT(Redis Computed Tomography)

https://github.com/xaecbd/RCT/blob/master/README_zh.md#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B RCT 是一个通过解析rdb文件对redis内存结构分析的一站式平台。 支持对非集群/集群rdb文件分析、Slowl