性能测试工具

2022-05-11 16:14:36 浏览数 (1)

文章目录
  • 了解三种工具

  • Apache AB的使用
    • 环境配置
    • 配置
    • 验证
    • 登录参数模拟
    • Apache ab命令
    • 分析

了解三种工具

• LoadRunner是原Mercury公司是产品,2006年 Mercury公司被HP收购。 • LoadRunner是一种高规模适应性的自动负载测试 工具,它能预测系统行为, 优化性能。 • LoadRunner强调对整个企业应用架构进行测试, 它通过模拟实际用户的操作行为和实时性能监控, 来帮助客户更快的确认和查找问题

JMeter作为一款开源的测试产品 • JMeter是可用于性能测试、功能测试、自动化 测试的开源免费工具。 • JMeter支持数十种协议,同时支持即插即用脚 本和二次开发, 几乎可以适用任何测试场景。

Apache ab:ab是Apache提供的一款简单的压 力测试工具 • ab命令对发出负载的计算机要求很低,既不会 占用很多CPU,也不会占用太多的内存,但却 会给目标服务器造成巨大的负载,因此是某些 DDoS攻击的常备工具

Apache AB的使用

环境配置

安装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参数就可以了

代码语言:javascript复制
abs -n 1000 -c 100 https://www.baidu.com/index.html

//上例表示总共访问http://www这个接口1000次,100并发同时执行

分析

网络上消耗的时间的分解:

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

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

0 人点赞