标签:ESS 响应 表示 col 完成 EAP 种子 load 吞吐量
Apache Jmeter是针对Java的一款性能测试工具,利用该工具可以实现自动化的批量测试和结果聚合,适合做接口压测。今天就来捋一捋软件安装的一些小细节和使用。
Jmeter基于JDK,安装之前确保Java环境变量配置无误。在官网下载最新版本解压后,配置环境变量 JMETER_HOME 为安装目录并将 %JMETER_HOME%\bin 添加到Path中。启动安装目录下/bin/jmeter.bat,稍作等待弹出GUI窗口表明安装成功。需要注意命令行窗口和图形界面关闭任意一个另一个都会关闭。
在命令行窗口中会有一段提示:
====================================================================================================== Don‘t use GUI mode for load testing !, only for Test creation and Test debugging. For load testing, use NON GUI Mode: jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder] & increase Java Heap to meet your test requirements: Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file Check : https://jmeter.apache.org/usermanual/best-practices.html ======================================================================================================
这一段指的是仅建议用GUI界面进行脚本的创建和测试,如果要运行实际测试,使用命令行执行测试脚本,或编辑jmeter.bat,修改java堆大小相关的参数来满足测试需求。
默认的jmeter GUI使用英语,修改jmeter.properties中 language=zh-CN 可以默认以简体中文启动。
为了方便测试,右键点击jmeter.bat-->发送到桌面快捷方式-->右键快捷方式选择属性-->将目标设置为安装目录\bin\ApacheJMeter.jar,起始位置安装目录\bin,即可建立GUI快捷方式。
这里我主要是对接口做压力测试,记录一下过程中遇到的坑和结果分析。
首先建立自己的测试计划。默认的测试计划颜色可能是灰色,此时为禁用状态,右键单击启用否则测试时报错 Error processing org.apache.jmeter.gui.action.Start 。启用后添加线程组,可以配置需要的线程数以及单个线程的循环执行次数,以及线程启动时间Ramp-Up时间。这个时间表示启动全部线程所用时间,为0时表示线程并发,否则线程将以T/N的时间间隔(T为改时间,N为总个数)启动。
接下来是添加具体的任务。这里我添加HTTP请求,填写请求协议、IP、端口号等信息,添加需要的参数值。为了模拟真实情况,请求的参数一般不完全相同,配置方法一般有三种。
完成任务配置后,添加结果监听器。查看结果树可以对每个线程单词调用结果进行查看,包括请求内容和返回结果,适合进行测试计划的验证;对于压力测试等更多考虑统计性指标的测试,添加聚合报告来查看性能指标。
上图中Label表示请求名,#Samples表示请求次数(线程数*循环次数),Average为平均响应时间,Median、90%Line、95%Line、99%Line分别为对应比例的样本的最长响应时间,Min/Max为总体最小值/最大值,Error%为错误率,Throughput为吞吐量,这里表示为每秒完成的请求数量;Received KB/sec和Sent KB/sec分别表示接收量和发送量的每秒千字节表示。
本次测试的是业务在高并发场景下的运行性能,更侧重于承受上限和平均响应时长,因此没有用到断言。如果有必要,可以添加断言来判断是否获取了期望结果,具体用法等下次实际使用后再做总结。
标签:ESS 响应 表示 col 完成 EAP 种子 load 吞吐量
原文地址:https://www.cnblogs.com/lycx/p/10064561.html