ab工具使用详解 您所在的位置:网站首页 ab钥匙使用方法 ab工具使用详解

ab工具使用详解

2023-12-14 14:56| 来源: 网络整理| 查看: 265

一、介绍

ab是apache bench命令的缩写。

        ab是Apache超文本传输协议(HTTP)的性能测试工具。它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。

二、原理

        ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它的实用性非常高,可用作测试多种服务器的压力。         ab命令对发出负载的计算机要求很低,它既不会占用很高CPU,也不会占用很多内存。但却会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也需要注意,否则一次上太多的负载。可能造成目标服务器资源耗完,严重时甚至导致死机。

三、下载和安装 Windows版:

Apache Haus Downloads

访问Apache官网进行下载

 下载完之后解压到相应的位置

Linux版:

CentOS6 默认安装

CentOS7需要手动安装

联网安装:yum install httpd-tools

四、使用

打开cmd命令行(最好以管理员方式),到ab工具的bin目录下,就可以输入ab的命令进行测试了。

ab -n 100 -c 10 http://127.0.0.1:8080/test

注意,一定要是bin目录下,不然会出现不识别ab命令的情况。

如果需要携带参数,发送post请求,要把参数存到一个文件里,这个文件叫postfile(这个文件名字可以随便取,没有扩展名),然后写-p 后面跟文件的路径,我这里写的~/postfile是cenos的写法,如果是windows无法识别,可以写绝对路径。

参数文件写成这种形式,把参数名和参数用等号连接,多个参数&连接

ab -n 2000 -c 200 -k -p ~/postfile -T application/x-www-form-urlencoded http://127.0.0.1:8080/test

这个是windows写法,写参数文件的绝对路径

ab -n 200 -c 20 -k -p D:\httpd-2.4.51-o111l-x64-vc15\Apache24\bin\postfile -T application/x-www-form-urlencoded http://127.0.0.1:8080/mai

如果是get请求就不需要参数文件了,可以直接写

ab -n 200 -c 20 -k http://127.0.0.1:8080/mai?id=101

发送成功是这个样子的

 

下面是参数详解:

-n(常用)发出x个请求-c(常用)并发一次发出的多个请求数,也就是模拟x个并发-t(常用)将花费在基准测试上的时间限制为最长秒,在x秒内发请求-s(常用)等待每个响应的最大超时秒数,默认30秒-bTCP发送/接收缓冲区的窗口大小(字节)-B地址进行传出连接时要绑定到的地址-p(常用)发送POST请求时需要上传的文件,此外还必须设置-T参数。-u(常用)发送PUT请求时需要上传的文件,此外还必须设置-T参数。-T(常用)

内容类型用于POST/PUT数据的内容类型标题,默认值为text/plain。例如:application/x-www-form-urlencoded,

-v打印版本号并退出-w在HTML表格中打印结果-i使用HEAD而不是GET-x要作为表属性插入的字符串-y要作为tr属性插入的字符串-z要作为td或th属性插入的字符串-C添加cookie,例如“Apache=1234”。(可重复)-H添加任意标题行,例如“接受编码:gzip”-A

添加基本的WWW身份验证,属性是以冒号分隔的用户名和密码。

-P

添加基本代理身份验证,属性是以冒号分隔的用户名和密码。

-X要使用的代理服务器和端口号-V打印版本号并退出-k(常用)使用HTTP KeepAlive功能-d不要在表格中显示已送达的百分位数。-S不显示服务于表格的百分位数。不显示置信度估计器和警告。-q执行超过150个请求时不显示进度-l接受可变文档长度(用于动态页面)-g将收集的数据输出到gnuplot格式文件。-e输出提供百分比的CSV文件-r套接字接收错误时不退出。-m方法名-h显示帮助信息

如有不准确的地方或者需要补充的地方欢迎大家指正!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有