ab性能测试工具

简介

ab是apache自带的压力测试工具,命令全称为apachebench, 他是一个httpd自带的很好用的压力测试工具,ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问,根据参数的配置,可以控制请求的并发量,以此查看被测试服务器接受处理请求的能力上线。

安装

在centos系统上,直接使用yum安装即可,如果不想安装apache但是又想使用ab命令,可以直接安装apache的工具包httpd-tools

 yum -y install httpd-tools 

安装完成后,执行 ab -V 查看版本,测试是否可以正常使用。

基本使用

通过执行ab -help查看参数说明。常用的参数为

-n:测试请求的个数。默认时,仅执行一个请求。

-c:每次产生的请求个数。默认是一次一个。

-t:本次测试所进行的最大秒数。其内部隐含值是-n 50000-p:指定一个文件,该文件中包含了需要POST的数据的文件。发送数据文件的同时,需要使用 -T 参数指定这个数据的格式,也就是请求头中的content-type,常见的'application/x-www-form-urlencoded' 默认是'text/plain'-P:对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。

-T:POST数据所使用的Content-type头信息。

示例

假设测试接口为 http://*.com/news/ 。使用ab 命令批量访问即可

ab -n 10  http://*.com/news

如果该接口需要提供请求参数,无法直接测试该url,而应该使用-p指参数文件,例如:  http://*.com/news/user_id=123&cursor=Jdag

# 错误的测试方式
ab -n 1 http://*.com/news?user_id=123&cursor=Jdag    

# 正确的方式
ab -n 1 -p para.txt -T application/x-www-form-urlencoded  http://*.com/news/

 -p para.txt  指定para文件中的内容为参数(注意文件的路径,这里使用当前目录相对位置),文件中写入参数的内容即可,例如

user_id=123&cursor=Jdag

 -T application/x-www-form-urlencoded  指定了para.txt文件中内容的格式,该格式规定内容的形式的 k1=v1&k2=v2 的格式。

posted @ 2020-07-13 15:48  没有想象力  阅读(194)  评论(0编辑  收藏  举报