文章目录
了解三种工具
• LoadRunner是原Mercury公司是产品,2006年
Mercury公司被HP收购。
• LoadRunner是一种高规模适应性的自动负载测试
工具,它能预测系统行为, 优化性能。
• LoadRunner强调对整个企业应用架构进行测试,
它通过模拟实际用户的操作行为和实时性能监控,
来帮助客户更快的确认和查找问题
JMeter作为一款开源的测试产品
• JMeter是可用于性能测试、功能测试、自动化
测试的开源免费工具。
• JMeter支持数十种协议,同时支持即插即用脚
本和二次开发, 几乎可以适用任何测试场景。
Apache AB的使用Apache ab:ab是Apache提供的一款简单的压
力测试工具
• ab命令对发出负载的计算机要求很低,既不会
占用很多CPU,也不会占用太多的内存,但却
会给目标服务器造成巨大的负载,因此是某些
DDoS攻击的常备工具
环境配置
安装ab
1)解压缩
2)设置环境变量
配置
验证
登录参数模拟
模拟用户登录过程
参数:
{“loginName”: “admin”,“loginPwd”:“admin_123&@”}
命令:
ab -n 1 -c 1 -p C:/test/param.txt -T application/json http://admin.qyguo.cn/login.json
Apache ab命令
命令参数详细文档,参考官网: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参数就可以了
abs -n 1000 -c 100 https://www.baidu.com/index.html
//上例表示总共访问http://www这个接口1000次,100并发同时执行
分析
网络上消耗的时间的分解:
请求的响应时间,整个场景中所有请求的响应情况。在场景中每个请求都有一个响应时间
其中 50% 的用户响应时间小于 364 毫秒
66 % 的用户响应时间小于 373 毫秒
以此类推
最大的响应时间小于 1559 毫秒