从 CLI 运行基准测试
通用的命令行,用于从任何主机针对已配置的 Keycloak 实例运行基准测试。
使用此命令针对本地运行的 Keycloak 实例运行 Keycloak 基准测试。当针对远程 Keycloak 实例以每秒超过 300 个新用户的速度运行时,由于大量处于 TIME_WAIT
模式的网络连接,负载生成可能会停滞。在这些情况下,请使用通过 Ansible 和 EC2 运行基准测试或类似的机制,将负载生成分散到多个节点上。
先决条件
-
来自准备 Keycloak 以进行测试的 Keycloak URL
-
要按原样运行测试而无需本地修改,建议选择下载。
-
已安装 Java 21,并且
java
可执行文件在路径中可用。
从 CLI 运行测试
运行测试
要开始运行测试,请执行
./kcb.sh
默认情况下,测试期望 Keycloak 在 http://0.0.0.0:8080 上运行,默认场景是 keycloak.scenarion.authentication.ClientSecret
。
要使用不同的服务器 URL、Realm 和场景
./kcb.sh --scenario=keycloak.scenario.authentication.AuthorizationCode --server-url=https://keycloak-keycloak.192.168.12.345.nip.io --realm-name=test-realm
有关所有可用场景及其配置选项的概述,请参阅场景概览。
有关设置不同参数的信息,请参阅配置基准测试。
单次运行模式 vs. 增量运行模式
在单次运行模式(默认模式)中,脚本执行一次运行并在控制台上打印结果。
在增量模式(由 CLI 选项 --increment
触发)中,脚本先运行一次基准测试作为预热,然后再次运行,如果成功,则使用参数中给出的不断增加的工作负载重复运行。一旦基准测试在其中一个增量后失败,脚本将执行更多次运行,使用较小的增量来找到最大可能的成功工作负载,并将此信息打印在控制台上。
报告
对于默认的 Gatling 生成的报告,请查看 result
目录下的报告。对于其他报告,请参阅Keycloak 基准测试的报告。