zoukankan      html  css  js  c++  java
  • 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/'
  • 相关阅读:
    什么是ORM
    ORM优缺点
    Azure 中快速搭建 FTPS 服务
    连接到 Azure 上的 SQL Server 虚拟机(经典部署)
    在 Azure 虚拟机中配置 Always On 可用性组(经典)
    SQL Server 2014 虚拟机的自动备份 (Resource Manager)
    Azure 虚拟机上的 SQL Server 常见问题
    排查在 Azure 中新建 Windows 虚拟机时遇到的经典部署问题
    上传通用化 VHD 并使用它在 Azure 中创建新 VM
    排查在 Azure 中新建 Windows VM 时遇到的部署问题
  • 原文地址:https://www.cnblogs.com/ExMan/p/8490536.html
Copyright © 2011-2022 走看看