从 CLI 运行基准测试

从任何主机针对已预配的 Keycloak 实例运行基准测试的通用命令行。

使用此命令针对本地运行的 Keycloak 实例运行 Keycloak 基准测试。当针对远程 Keycloak 实例每秒运行超过 300 个新用户时,负载生成可能会由于 TIME_WAIT 模式下的许多网络连接而停滞。在这些情况下,请使用 通过 Ansible 和 EC2 运行基准测试 或类似机制将负载生成分散到多个节点上。

先决条件

  1. 来自 准备 Keycloak 以进行测试 的 Keycloak URL

  2. 要么 下载基准模块,要么 在本地构建它

    要按原样运行测试而无需本地修改,建议下载它。

  3. 安装了 Java 21,并且 java 可执行文件在路径上可用。

从 CLI 运行测试

准备工作

运行测试

要开始运行测试,请执行

./kcb.sh

默认情况下,测试预计 Keycloak 运行在 http://0.0.0.0:8080 上,默认场景为 keycloak.scenarion.authentication.ClientSecret

要使用不同的服务器 URL、领域和场景

./kcb.sh --scenario=keycloak.scenario.authentication.AuthorizationCode --server-url=https://keycloak-keycloak.192.168.12.345.nip.io --realm-name=test-realm

有关所有可用场景及其配置选项的概述,请参阅 场景概述

有关设置不同参数的信息,请参阅 配置基准测试

单次运行模式与增量运行模式

在单次运行模式(默认模式)下,脚本执行一次运行并在控制台上打印结果。

在增量模式(由 CLI 选项 --increment 触发)下,脚本将基准测试运行一次作为预热,然后再次运行,如果成功,则会以参数中给出的不断增加的工作量重复运行。一旦基准测试在其中一个增量之后失败,脚本将使用较小的增量执行额外的运行以找到最大可能的成功工作量,并在控制台上打印此信息。

报告

对于默认的 gatling 生成的报告,请检查 result 目录中的报告。有关其他报告的信息,请参阅 Keycloak 基准测试的报告