ab是一个httpd自带的很好用的压力测试工具,ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。可以用来测试apache的负载压力,也可以用来测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力负载性能。

1、安装ab

yum install httpd-tools

2、使用

Usage: ab [options] [http[s]://]hostname[:port]/path ,比如ab -n 2000 -c http://127.0.0.1/

参数说明:

-n 要执行请求数,默认会执行一个请求
-c 一次执行多个请求的数量,默认是一次一个请求。
-t 用于基准测试的最大秒数,使用它在固定的总时间内对服务器进行基准测试。默认情况下,没有时间限制。
-s 超时之前等待的最大秒数。 默认值是30秒。
-b TCP发送/接收缓冲区的大小,以字节为单位。
-B 进行传出连接时要绑定的地址。
-p 包含数据到POST的文件。 文件格式为gid=2&status=1,配合-T使用
-u 包含PUT数据的文件。 还请记住设置-T 。
-T Content-type用于POST / PUT数据的内容类型内容类型标题,例如:'application/x-www-form-urlencoded' 默认是'text/plain'
-v verbosity 要打印多少个疑难解答信息,设置详细级别 - 4和以上打印标题信息,3和以上打印响应代码(404,200等),2和以上打印警告和信息。
-w 在HTML表格中打印结果。
-i 使用HEAD代替GET。
-x 用作<table>的属性的字符串。 属性被插入<table here>。
-y 用作<tr>的属性的字符串。
-z 用作<td>的属性的字符串。
-C 将cookie添加到请求。 参数通常采用名称=值对的形式。 这个字段是可重复的。
-H attribute 例如 ‘Accept-Encoding: gzip’ 插入所有普通标题行之后。(重复)
-A 添加基本的WWW认证,该属性是一个冒号分隔的用户名和密码,auth-username:password
-P 添加基本代理验证,属性是一个冒号分隔的用户名和密码,proxy-auth-username:password
-X 使用代理服务器和端口号。
-V 打印版本号并退出。
-k 使用HTTP KeepAlive功能。
-d 不要显示百分点服务表。
-S 不要显示信心估计和警告。
-q 做超过150个请求时不要显示进度。
-g 将收集的数据输出到gnuplot格式文件。
-e 输出提供百分比的CSV文件。
-r 不要退出套接字接收错误。
-h 显示使用情况信息(此消息)。
-Z 密码套件指定SSL / TLS密码套件(请参阅openssl密码)
-f 指定SSL / TLS协议 (SSL3, TLS1, TLS1.1, TLS1.2 or ALL)

3、实际例子

3.1 GET请求

[root@zq conf.d]# ab -n2000 -c 4 https://10.21.144.110/44demo/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking 10.21.144.110 (be patient)
Completed 200 requests
Completed 400 requests
Completed 600 requests
Completed 800 requests
Completed 1000 requests
Completed 1200 requests
Completed 1400 requests
Completed 1600 requests
Completed 1800 requests
Completed 2000 requests
Finished 2000 requestsServer Software:        diserver         ##被测试服务器软件名称
Server Hostname:        10.21.144.110    #服务器主机名
Server Port:            443              #服务器端口
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256Document Path:          /44demo/         #请求的URL中的路径
Document Length:        157 bytes        #页面的大小Concurrency Level:      4                #并发数
Time taken for tests:   2.113 seconds    #请求总耗时
Complete requests:      2000             #总共完成的请求数量
Failed requests:        0                #失败数
Write errors:           0
Non-2xx responses:      2000
Total transferred:      692000 bytes     #测试过程中产生的网络传输总量
HTML transferred:       314000 bytes     #测试过程中产生的HTML传输量
Requests per second:    946.67 [#/sec] (mean)    #表示服务器吞吐量,每秒发多少个请求,Complete requests/Time taken for tests,2000/2.113
Time per request:       4.225 [ms] (mean)        #用户平均请求等待时间,计算公式:Time token for tests/(Complete requests/Concurrency Level)
Time per request:       1.056 [ms] (mean, across all concurrent requests)  #服务器平均请求等待时间,计算公式:Time taken for tests/Complete requests,正好是吞吐率的倒数 Transfer rate:          319.87 [Kbytes/sec] received  #传输速率,可以帮助排除是否存在网络流量过大导致响应时间延长的问题Connection Times (ms)min  mean[+/-sd] median   max
Connect:        2    4   0.8      4      12    #socket链路建立消耗,代表网络状况好
Processing:     0    0   0.4      0       6    #写入缓冲区消耗+链路消耗+服务器消耗
Waiting:        0    0   0.4      0       6    #写入缓冲区消耗+链路消耗+服务器消耗+读取数据消耗
Total:          2    4   0.9      4      12Percentage of the requests served within a certain time (ms)50%      466%      475%      480%      590%      595%      698%      799%      8100%     12 (longest request)

3.2 POST 请求

# 准备post的body内容
[root@zq conf.d]# cat /home/testzq/post.txt  # 存放POST请求的body
vendor=""&application=""&firsttime="1576157443"&lasttime="1576157543"&sortedby=2&reversed=0&skip=1&count=10[root@zq conf.d]# ab -n 100 -c 2 -p "/home/testzq/post.txt" -T application/json -C "username=admin; role=admin; auth_tkt=5928ba64a4eae02ba17c8a0ee6f0f924477c2f2f4b6855446a6425b4e26498a86dc8b81122fd3f8f3fced95a7858965085f3e23ef4486c1265d765f551cb33be5e35462bYWRtaW4%3D; timestamp=1580549678454" -H Referer:https://10.21.144.110:8443/  https://10.21.144.110:8443/inventory/software/applicationsThis is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking 10.21.144.110 (be patient).....doneServer Software:        diserver
Server Hostname:        10.21.144.110
Server Port:            8443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256Document Path:          /inventory/software/applications
Document Length:        7095 bytesConcurrency Level:      2                #并发数
Time taken for tests:   0.303 seconds    #请求总耗时
Complete requests:      100              #总共完成的请求数量
Failed requests:        0
Write errors:           0
Non-2xx responses:      100
Total transferred:      726000 bytes
Total body sent:        53500
HTML transferred:       709500 bytes
Requests per second:    329.97 [#/sec] (mean) #表示服务器吞吐量,每秒发多少个请求,Complete requests/Time taken for testsTime per request:       6.061 [ms] (mean)     #用户平均请求等待时间,计算公式:Time token for tests/(Complete requests/Concurrency Level)
Time per request:       3.031 [ms] (mean, across all concurrent requests) #服务器平均请求等待时间,计算公式:Time taken for tests/Complete requests,正好是吞吐率的倒数
Transfer rate:          2339.47 [Kbytes/sec] received  172.40 kb/s sent2511.86 kb/s total   #传输速率,可以帮助排除是否存在网络流量过大导致响应时间延长的问题Connection Times (ms)min  mean[+/-sd] median   max
Connect:        2    3   0.4      2       4
Processing:     2    3   1.2      3       7
Waiting:        2    3   1.2      3       6
Total:          4    6   1.3      6      10
ERROR: The median and mean for the initial connection time are more than twice the standarddeviation apart. These results are NOT reliable.Percentage of the requests served within a certain time (ms)50%      666%      775%      780%      790%      895%      898%      999%     10100%     10 (longest request)

压测工具ab接口测试相关推荐

  1. 压测工具Ab(ApacheBench)使用入门,JVM堆内存调优及GC优化

    压测工具AB Ab(ApacheBench) 测试工具是 Apache 提供的一款测试工具,具有简单易上手的特点,在测试 Web 服务时非常实用. ab 一般都是在Linux上用. 安装非常简单,只需 ...

  2. 压测工具ab的安装(mac下)

    mac自带的apache中的ab是有最大并发限制的,所以我们要重新下载一个apache并且编译. httpd依赖于apr, apr-util, pcrc,所用得先安装这三个,在安装httpd. 下载地 ...

  3. http压测工具ab bench

    下载安装 yum -y install httpd-tools 查看版本 ab -V 调用 ab -n 100 -c 100 -H "Cookie: svip_skey=1c2236e55e ...

  4. linux里面的压测工具ab,如何安装ab

    目录 1 安装 1 安装 命令:# yum -y install httpd-tools 命令: ab 或 ab -help 显示命令参数如下 ab [可选的参数选项] 需要进行压力测试的url 参数 ...

  5. 精准容量、秒级弹性,压测工具 + SAE 方案如何成功突破传统大促难关?

    作者 | 代序 阿里云云原生技术团队 本文整理自<Serverless 技术公开课>,"Serverless"公众号后台回复"入门",即可获取系列文 ...

  6. 简单常用的http压测工具

    在项目正式上线之前,通常需要通过压测来评估当前系统能够支撑的请求量.排查可能存在的隐藏bug. 目录 压测相关术语 压测工具 ab 命令格式 使用 wrk 命令参数 使用 go-wrk 安装 使用 压 ...

  7. 不看我真的会很伤心【压测工具:提升系统性能的利器】,查看TPS,计算TPS,计算压测指标、压测名词解释、教大家如何压测

    目录 前言 一.压测是什么? 二.为什么要压测? 三. 压测名词解释 1.压测类型解释 2.压测名词解释 3.机器性能指标解释 4.访问指标解释 四.如何计算压测指标 五.常见的压测工具 1.JMet ...

  8. http,https,TCP,UDP,apache 的ab,压测工具

    对于http,https使用apache 的ab: 对于http/2使用nghttp2的h2load: 压测http ab -k -t 180 -c 6 -n 1000000 http://172.1 ...

  9. ab压测工具的一些个人见解

    ab压测工具(linux版)由于网上教程一大把,今天也按照教程好好研究了一番,下面写一下对此工具的一些个人见解,如有不妥,希望一起探讨. 优点: 1.小巧. 2.理论支持655350并发数.实际32环 ...

  10. ApacheBench压测工具的安装和使用

    ApacheBench压测工具的安装和使用 压力测试工具ApacheBench ApacheBench工具简介 Mac系统上安装ApacheBench工具 官网下载 安装工具 安装 apr 安装 ap ...

最新文章

  1. java和python哪个好就业2020-python和java自学哪个好?
  2. 数据结构: 试用判定树的方法给出在中序线索化二叉树上: (1) 如何搜索指定结点的在中序下的后继。 (2) 如何搜索指定结点的在前序下的后继。(3) 如何搜索指定结点的在后序下的后继。
  3. PL/Sql快速执行 insert语句的.sql文件
  4. centos overlay 占用很大_盘锦技术好的升降货梯占用空间小
  5. StringUtils一些常用方法
  6. 概率矩阵分解模型 PMF
  7. 48. PHP 页面静态化(1)
  8. LINUX FFMPEG编译汇总(中等,只编译必要的部分)
  9. 《算法图解》高清PDF版
  10. pgadmin4下载
  11. 很清晰的解读i2c协议
  12. matlab 使用.m文件,matlab 编写M文件(函数)
  13. Http gzip 处理
  14. html屏幕3分,使用CSS3的background-size优化苹果的Retina屏幕的图像显示
  15. 2 简单使用原形工具Axure RP
  16. linux中剪刀石头布的程序,简单模拟剪刀石头布js
  17. 证券公司信息化——8
  18. 工作流模式的学习与总结
  19. MVC WebAPI 三层分布式框架开发
  20. 华为matepad切换电脑模式_华为matepadpro可以当电脑用吗,华为matepad pro怎么切换电脑模式...

热门文章

  1. 韩顺平html5笔记,2016泰牛程序员韩顺平PHP大牛班HTML5CSS3完整笔记资料.doc
  2. [转]编程常用英语单词
  3. 一元购java源码下载_yungoucms - 源码下载|行业应用软件|其他行业|源代码 - 源码中国...
  4. mysql怎么导出insert语句_mysql导出insert语句
  5. Word中输入10以上带圈数字
  6. 【一文讲通】BLDC的六步法PMSM的FOC法综合
  7. mysql文件后缀名是什么_数据库文件的扩展名是什么?
  8. 计算机二级2018VB题库百度云,2018年计算机二级VB考试真题
  9. 需要在计算机上安装msxml版本 6.0,win10安装不了office 2010提示“MSXML版本6.10.1129.0”怎么办...
  10. espritcam后处理教学_Master CAM 后置处理文件及其设定方法详细说明