性能测试
Jmeter、Wrk性能测压工具
指标字典
指标字典是性能测试过程中指标的描述说明
测试任务
目前支持wrk、jmeter在虚拟机,容器上做压测任务,并生成压测统计报告。
jmeter容器压测任务
使用容器类资源压测,需要选择容器资源组。
节点数是指启动压测任务所用的pod个数。每个pod默认资源配置如下:(请确保所选资源组有足够的资源启动pod),如果你需要发起很大的压力,可以考虑启动2个或以上的节点数。
containers:
- resources:
limits:
cpu: '2'
ephemeral-storage: 10Gi
memory: 4Gi
requests:
cpu: 100m
ephemeral-storage: 10Mi
memory: 1Gi
用户需要自己本地电脑上编辑好jmx文件,然后在页面上加载上传jmx文件。
然后上传csv,txt等压测时所需要的数据文件,在jmx配置数据文件路径时需要写相对路径,请避免写本地电脑的绝对路径。
最后,确认读到配好的压测场景,配置好线程数和压测时间。
同时确保被测对象服务与你所选资源组的网络连通性,避免做无效压测。
(注意:jmx文件中不要包含任何第三方jmeter插件,否则会导致我们压测任务无法正常运行,我们目前只支持jmeter自带的所有功能,不支持任何第三方插件功能)
阶梯压测
我们支持阶梯逐步发起压力,只需要在场景列表的线程组选择concurrenyThreadGroup
阶梯压测的模拟压力预估图如下显示:
jmeter虚机压测任务
使用虚拟机类资源压测,需要选择虚机资源组。选择资源组以后,可以勾选是否使用。
(注意:目前不支持单台压测,必须存在1台master,1台或以上的slave进行分布式压测,使用多台虚拟机,则默认列表里的第一台作为master,其他虚拟机作为slave,并且用户需要自己确保maser和所有slave的jdk版本保持完全一致)
wrk容器压测任务
使用容器类资源压测,需要选择容器资源组。
节点数是指启动压测任务所用的pod个数。每个pod默认资源配置如下:(请确保所选资源组有足够的资源启动pod),如果你需要发起很大的压力,可以考虑启动2个或以上的节点数。
containers:
- resources:
limits:
cpu: '2'
ephemeral-storage: 10Gi
memory: 4Gi
requests:
cpu: 100m
ephemeral-storage: 10Mi
memory: 1Gi
wrk的任务配置同wrk命令所需的必要参数配置保持一致,如下图所需的配置,实际上运行的wrk命令是:
wrk -t3 -c12 -d60s --latency http://testbotplatform-grd-paas-portal.apps.hk-ocp4.uat.com/api/paas-code/test
wrk支持lua脚本配置
wrk支持上传lua脚本压测,可以支持post等接口,带header请求头等复杂接口的压测。具体需要自行编写lua脚本。
wrk -t2 -c100 -d60s -s mulpathnew-noput-java-0228.lua --latency http://my-java-zml-zuhu-mygoodbaby-zml-wangs-test.com
wrk虚机压测任务
使用虚拟机类资源压测,需要选择虚机资源组。选择资源组以后,可以勾选是否使用。
(注意:需要用户自己提前在对应的虚拟机上安装好wrk命令,否则无法压测)
测试报告
jmeter测试报告
日志查看
我们支持在日志中查看压测输出结果。(注意:如果是虚机压测,则只会在master机子日志中输出jmeter压测结果)
测试概览
右上角按钮支持下载本次压测执行文件jmx。
测试详情
我们支持如下几个维度进行测试详情查看,比如:支持多个场景用户数压测详情查看
比如:如果jmx有配置响应体校验,支持错误统计分析
请求统计
请求统计是jmeter的聚合报告输出数据
错误统计
错误统计是根据jmx响应体校验捕获的错误响应统计
监控详情
我们支持压测时间段范围内的容器监控、虚机监控。(注意:如果压测时间过短,则有可能看不到监控数据,如果监控数据为空,请尝试拉长压测时间。)
wrk测试报告
日志查看
我们支持在日志中查看wrk原本的输出内容,若使用多台虚拟机或者多台pod压测,则分段输出wrk压测结果。




















