性能测试

Jmeter、Wrk性能测压工具

指标字典

指标字典是性能测试过程中指标的描述说明

image-20220627150014850

测试任务

目前支持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

image-20220627150406619

用户需要自己本地电脑上编辑好jmx文件,然后在页面上加载上传jmx文件。

然后上传csv,txt等压测时所需要的数据文件,在jmx配置数据文件路径时需要写相对路径,请避免写本地电脑的绝对路径。

最后,确认读到配好的压测场景,配置好线程数和压测时间。

同时确保被测对象服务与你所选资源组的网络连通性,避免做无效压测。

(注意:jmx文件中不要包含任何第三方jmeter插件,否则会导致我们压测任务无法正常运行,我们目前只支持jmeter自带的所有功能,不支持任何第三方插件功能)

image-20220627151127507

阶梯压测

我们支持阶梯逐步发起压力,只需要在场景列表的线程组选择concurrenyThreadGroup

image-20220627151659823

阶梯压测的模拟压力预估图如下显示:

image-20220627151821229

jmeter虚机压测任务

使用虚拟机类资源压测,需要选择虚机资源组。选择资源组以后,可以勾选是否使用。

(注意:目前不支持单台压测,必须存在1台master,1台或以上的slave进行分布式压测,使用多台虚拟机,则默认列表里的第一台作为master,其他虚拟机作为slave,并且用户需要自己确保maser和所有slave的jdk版本保持完全一致)

image-20220627152016673

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

image-20220627152501977

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

image-20220627152905206

wrk虚机压测任务

使用虚拟机类资源压测,需要选择虚机资源组。选择资源组以后,可以勾选是否使用。

(注意:需要用户自己提前在对应的虚拟机上安装好wrk命令,否则无法压测)

image-20220627153140285

测试报告

jmeter测试报告

日志查看

我们支持在日志中查看压测输出结果。(注意:如果是虚机压测,则只会在master机子日志中输出jmeter压测结果)

image-20220627154055759

测试概览

右上角按钮支持下载本次压测执行文件jmx。

image-20220627154517587

测试详情

我们支持如下几个维度进行测试详情查看,比如:支持多个场景用户数压测详情查看

image-20220627154638580

比如:如果jmx有配置响应体校验,支持错误统计分析

image-20220627154815730

请求统计

请求统计是jmeter的聚合报告输出数据

image-20220627154903457

错误统计

错误统计是根据jmx响应体校验捕获的错误响应统计

image-20220627155016990

监控详情

我们支持压测时间段范围内的容器监控、虚机监控。(注意:如果压测时间过短,则有可能看不到监控数据,如果监控数据为空,请尝试拉长压测时间。)

image-20220627155246846

wrk测试报告

日志查看

我们支持在日志中查看wrk原本的输出内容,若使用多台虚拟机或者多台pod压测,则分段输出wrk压测结果。

image-20220627155512238

测试统计

image-20220627155838582

image-20220627155901405

image-20220627155910090

监控查看

image-20220627155935273

results matching ""

    No results matching ""