ab工具使用详解 | 您所在的位置:网站首页 › ab钥匙使用方法 › ab工具使用详解 |
一、介绍
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无法识别,可以写绝对路径。 参数文件写成这种形式,把参数名和参数用等号连接,多个参数&连接 这个是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 实验室设备网 版权所有 |