ab压力测试_Apache ab压力测试的知识点

Apache-ab是著名的Web服务器软件Apache附带的一个小工具,它可以模拟多个并发请求,测试服务器的最大承载压力。

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

1.下载安装

我下载的是windows版:

下载地址:官网http://httpd.apache.org/

(1)打开官网

72c1879bd4bd435c9de797e2f1cb3ca2

(2)找到windows的下载版本

876951c0c223430cace86050cedf117f

(3)可以直接选择 ApacheHaus

721755497d8340ae80f59e3442c3af97

(4)x86是32位的,x64是64位的,根据自己的操作系统选择下载

a2d28fb0895a4ba0867d25f23af71b83

(5)下载完成后直接解压到具体目录,找到bin目录:

fdc220a27d104bdcb4409a2974d212e2

(6)测试运行
在Windows系统下,打开cmd命令行窗口,定位到apache安装目录的bin目录下,输入ab回车,返回该命令的帮助信息即代表安装成功

13d4ca2153b8488c90db784365e4a290

2.命令参数详细文档,参考官网:http://httpd.apache.org/docs/2.2/programs/ab.html

-n

即requests Number,用于指定压力测试总共的请求次数,默认时,仅执行1一个请求

-c

即concurrency,用于指定压力测试的并发数,就是一次产生的请求个数,默认一次一个

-t

即timelimit,等待响应的最大时间(单位:秒),可以使对服务器的测试限制在一个固定的总时间以内,默认时没有时间限制

-b

即windowsize,TCP发送/接收的缓冲大小(单位:字节)。

-p

即postfile,发送POST请求时需要上传的文件,此外还必须设置-T参数。

-u

即putfile,发送PUT请求时需要上传的文件,此外还必须设置-T参数。

-T

即content-type,用于设置Content-Type请求头信息,例如:application/x-www-form-urlencoded,默认值为text/plain。

-v

即verbosity,指定打印帮助信息的冗余级别;设置显示信息的详细程度,–4或更大值会显示头信息, 3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息。 -V 显示版本号并退出。

-w

以HTML表格形式打印结果,默认时,它是白色背景的两列宽度的一张表

-i

使用HEAD请求代替GET请求。

-x

插入字符串作为table标签的属性。

-y

插入字符串作为tr标签的属性。

-z

插入字符串作为td标签的属性。

-C

添加cookie信息,例如:“Apache=1234”(可以重复该参数选项以添加多个),-C cookie-name=value 对请求附加一个Cookie:行,此参数可以重复,用逗号分割

-H

添加任意的请求头,例如:“Accept-Encoding: gzip”,请求头将会添加在现有的多个请求头之后(可以重复该参数选项以添加多个)。

-A

添加一个基本的网络认证信息,用户名和密码之间用英文冒号隔开。

-P

添加一个基本的代理认证信息,用户名和密码之间用英文冒号隔开,password 对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。

-X

指定使用的代理服务器和端口号,例如:“127.0.0.1:88”。

-V

打印版本号并退出。

-k

使用HTTP的KeepAlive特性。

-k

使用HTTP的KeepAlive特性。

-d

不显示百分比。

-S

不显示预估和警告信息。

-g

输出结果信息到gnuplot格式的文件中。

-e

输出结果信息到CSV格式的文件中。

-r

指定接收到错误信息时不退出程序。

-h

显示用法信息,其实就是ab -help。

虽然ab可以配置的参数选项比较多,但是,一般情况下我们只需要使用-c和-n参数就可以了

ab -n 1000 -c 100 http://www.ml.com/api/user/userLogin//上例表示总共访问http://www.ml.com/api/user/userLogin这个接口1000次,100并发同时执行

3.测试报告

ae3c9e02744b43e8902dc3981ff00023

4.数据分析

(1)

8d028e92955147be9cf44b8a0a17988c

(2)网络上消耗的时间的分解:

b05a707146f848bcbc28041309fcf1e3

3.请求的响应时间,整个场景中所有请求的响应情况。在场景中每个请求都有一个响应时间

ac0a081fc8c14f788163c543af8fb9ee

其中 50% 的用户响应时间小于 364 毫秒
66 % 的用户响应时间小于 373 毫秒
以此类推
最大的响应时间小于 1559 毫秒

原文:https://blog.csdn.net/qq_43485197/article/details/87916647

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值