目录
1.2.9.2 线程组:ConcurrencyThreadGroup是阶梯发压
系统支持用户自定义性能测试脚本里所需的变量。不使用时,可以关闭启用开关
性能测试配置及说明
点击【创建测试】进入性能测试用例创建页面,或点击“编辑”进入性能测试详情页,其界面包含多个页签:“场景配置”、“压力配置”、“高级配置”等
1.1 场景配置
“场景配置”性能测试基本信息管理,需要填写内容包括测试名称、上传测试脚本或引用接口自动化场景、上传其他性能测试辅助文件(jar包、cvs、excel、word、pdf等等文件)。此支持性能多场景选择
性能测试脚本执行jmeter脚本直接导入,还执行接口测试用例脚本和接口自动化脚本一键转性能测试脚本
线程组:支持两种模式。ThreadGroup和ConcurrencyThreadGroup。
从发压模式来讲:
ConcurrencyThreadGroup是----阶梯发压;
ThreadGroup是----线性发压。
1.2 压测配置及参数说明
每一个性能测试场景脚本都可以各自分别进行性能测试压力设置:并发数量、压测时长、RPS上限(指的是同一时刻最高的并发数量)等配置,同时右侧统计图会根据左侧的设置实时显示每个场景配置走势图。
点击“压力配置”设置压测基本的测试数据。资源、组合场景发压策略设定等等信息。
1.2.1 参数说明:资源池
资源池:指定测试的测试资源池,系统支持独立主机和K8s资源池配置,其可用资源池依据系统的资源池配置。
1.2.2 参数说明:执行顺序
场景是否顺序执行:因为系统支持多场景组合压测,对于有些场景是有顺序要求的,此需要把开关打开,可以避免脚本1没跑完,脚本2就启动了。
1.2.3 参数说明:自动停止开关
“自动停止开启”:设置此开关开启时,需要指定压测多久后,强制停止测试
1.2.4 参数说明:并发用户数
模拟一定数量用户操作的一个配置
1.2.5 参数说明:取样器错误后续执行动作
取样器错误后,提供多种处理方式。每种方式作用介绍如下:
继续:忽略错误,继续执行
启动下一次循环:忽略错误,线程当前循环终止,执行下一个循环。
停止线程:当前线程停止执行,不影响其他线程正常执行。
停止测试:整个测试会在所有当前正在执行的线程执行完毕后停止
立即停止测试:整个测试会立即停止执行,当前正在执行的取样器可能会被中断
1.2.6 参数说明:发压策略:按持续时间
设置本次压测需要持续执行多长时间,压测运行时长达到设定的时间就停止压力测试。目前系统提供按小时、分钟、秒来设置。
1.2.7 参数说明:发压策略:按迭代次数
设置本次压测执行的次数,压测运行次数达到设定的次数时,就停止压力测试。
1.2.8 参数说明:RPS设置
设置RPS时,需要先打开RPS开关才可以。
RPS(Requests per second):每秒请求数。 如果设置了RPS上限,则发压达到这个值后,就不会在往上加压。
1.2.9 参数说明:Ramp-Up
Ramp-Up会根据场景配置里的线程组而不同。
1.2.9.1 线程组: ThreadGroup指线性发压
Ramp-Up:表示在多少时间内启动全部的线程。如下图:表示6秒内完成启动15个线程。
把鼠标放在右侧图线上,可看到对应时间启动的线程数量。
1.2.9.2 线程组:ConcurrencyThreadGroup是阶梯发压
Ramp-Up:表示分几步用多少时间启动全部的线程。如下图:表示4秒分3步完成启动15个线程。
把鼠标放在右侧图线上,可看到对应时间启动的线程数量。
1.2.10 分配策略
针对有多个节点的资源池,MeterSphere支持用户自定义设置不同的分配策略。目前分配策略支持自动分配、固定节点、以及自定义。
1.2.10.1 自动分配
系统默认为“自动分配”,其核心逻辑是按资源池节点最大并发数占比比例分配。
比如“测试资源池”设置如下:
压力测试设置一共是30个并发,这A和B资源池各分配15个。
1.2.10.2 固定节点
允许用户指定压测仅仅在某一个节点上执行。
1.2.10.3 自定义
支持用户根据需要自定义每个节点执行的情况。
1.3 高级配置
进入性能测试脚本编辑页面,选择“高级配置”,进入性能测试高级配置页面。高级设置分为多部分:常规、自定义域名、CSVDataSet、自定义变量、监控等等。
1.3.1 参数说明:常规部分
进入“高级配置”页面,最上面的设置可理解为常规信息设置部分。
此包含设置测试脚本的连接超时时间和HTTP响应码等信息。下面介绍部分参数信息。
1.3.1.1 超时配置
超时的设置是为了保证数据可以正常地发送到客户端。
1.3.1.2 聚合时间(秒):
表示报告采集时间也叫打点时间。把鼠标放在“聚合时间”后的“i”按钮上,可以看到系统默认提供信息说明
1.3.1.3 自定义响应码:
表示指在这里设置的响应码,就不统计为失败的接口。系统支持添加多个响应码,按逗号分割。
1.3.2 参数说明:域名绑定
使用jmeter的时候会涉及到使用域名的情况,为了使脚本更具有通用性,以及发送给其他人时,脚本一样可以直接运行,故需要在运行脚本中添加hosts内容,直接从jmeter中获取。
1.3.3 参数说明:CSVDataSet
性能测试时所需要的参数数据文件,如果所有场景使用一个统一的参数文件,为了避免相同的参数被不同的场景引用造成流程异常。系统会根据压测策略自动来分割CSV数据文件里的参数,把不同的参数分配给不同的业务场景。
1.3.4 参数说明:自定义变量
系统支持用户自定义性能测试脚本里所需的变量。不使用时,可以关闭启用开关
1.3.5 参数说明:JMeter Properties
系统支持用户自定义需要关注或使用的任何JMeter Properties信息。
1.3.6 参数说明:监控
系统支持用户自定义配置需要关注任何发压端和被测服务的测试实时监控。
同时提供“批量添加”
目前对于被监控系统需要安装prometheus的监控插件 exporter。
1.3.6.1 监控配置
点击“高级配置>>监控集成>>添加”,可以指定要监控的服务器或压测节点。