• Apache ab测试工具使用方法(无参、get传参、post传参)


    Ab测试工具是apache自带的测试工具,具有简单易上手的特性,下面我总结一下我的使用方法,首先去官方下载apache程序包,我下的最新版本apache2.4.23,下载地址http://httpd.apache.org/download.cgi

    我下载的windows版本,解压后放到某一目录即可。

    1、呼出控制台

    可以使用系统自带cmd或者Xshell工具均可

    2、进入apache下的bin目录ab.exe就在此处

    3、使用方法

    直接在此目录下输入ab回车就会罗列出使用帮助

    使用方式:ab [options] [http://]hostname[:port]/path

    这里我只介绍常用命令

    -n:总请求次数(最小默认为1)

    -c:并发次数(最小默认为1且不能大于总请求次数,如:10个请求,10个并发,实际就是1人请求1次)

    -p:post参数文档路径(-p和-T参数要配合使用)

    -T:header头内容类型(此处切记是大写英文字母T)

    后面直接写请求路径即可:http://www.test.com/xxx/xxx.html

    4、无参方式请求

    输入:ab -n 10 -c 10 http://paycenter.gotrip8.com/querypay.aspx

    5、Get方式请求

    输入:ab -n 10 -c 10 "http://paycenter.gotrip8.com/querypay.aspx?Version=1.0&InputCharset=GBK&SignType=MD5&PlatFormCode=CPOTA&OrderNo=TEST0123456784&Sign=185FA68CA23AAE7B3A02A226ABD30297"

    注意:请求URL要使用双引号括起来,否则ab无法识别&符号

    6、Post方式请求

    参数文档:参数文档内容使用“key=value&key=value&key=value...”方式进行拼接,还有json的方式,但我实验没有成功,接收不到参数,具体原因未知

    输入:ab -n 10 -c 10 -p d: estquerypay.txt -T application/x-www-form-urlencoded http://paycenter.gotrip8.com/querypay.aspx

    注意:-p是参数文档路径,-T是大写英文字母,post表单格式为:application/x-www-form-urlencoded

    7、测试结果

    主要看三个数据

    Requests per second:吞吐率

    服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。
    计算公式:总请求数 / 处理完成这些请求数所花费的时间,即
    Request per second = Complete requests / Time taken for tests

    Time per request:上面的是用户平均请求等待时间

    处理完成所有请求数所花费的时间/ (总请求数 / 并发用户数),即
    Time per request = Time taken for tests /( Complete requests / Concurrency Level)

    Time per request:下面的是服务器平均请求处理时间

    处理完成所有请求数所花费的时间 / 总请求数,即
    Time taken for / testsComplete requests
    可以看到,它是吞吐率的倒数。
    同时,它也=用户平均请求等待时间/并发用户数,即
    Time per request / Concurrency Level

    可以根据固定并发数,增加请求次数或者固定请求次数,调整并发数来查看上面三个值得变化来调优服务器

    8、未解决问题

    在使用中我发现两个问题

    一是无法传递json的post参数,网上的方法都试过了,接不到参数

    二是传参时无法改变参数,或者说无法传递不同参数,比如下单接口测试,每次都应该传递不同的订单号,或者注册接口,每次都应该传递不同的账号密码,但在参数文档中如何写也实现不了,还望高手解答,谢谢

    安装ab工具

     yum install httpd-tools 

    参数说明

    -n:执行的请求个数,默认时执行一个请求

    -c:一次产生的请求个数,即并发个数

    -p:模拟post请求,文件格式为gid=2&status=1,配合-T使用

    -T:post数据所使用的Content-Type头信息,如果-T 'application/x-www-form-urlencoded'

    1.模拟get请求
    直接在url后面带参数即可

    ab -c 10 -n 10 http://www.test.api.com/?gid=2

    2.模拟post请求

    在当前目录下创建一个文件post.txt

    编辑文件post.txt写入

    cid=4&status=1

    相当于post传递cid,status参数

    ab -n 100  -c 10 -p 'post.txt' -T 'application/x-www-form-urlencoded' 'http://test.api.com/ttk/auth/info/'
  • 相关阅读:
    CTFHub_技能树_文件上传
    QT入门-重载的信号槽
    QT入门-自定义信号
    C++: xx does not name a type报错
    HDU1166 敌兵布阵
    洛谷P2574 XOR的艺术(线段树)
    P3373 【模板】线段树 2(板子好题)
    SP1716 GSS3
    QT入门-自定义槽函数
    Educational Codeforces Round 87 (Rated for Div. 2) D. Multiset(树状数组/好题)
  • 原文地址:https://www.cnblogs.com/ExMan/p/8490536.html
Copyright © 2020-2023  润新知