配置基准测试
使用 Gatling 的基准测试可以通过各种参数进行配置。
本文档描述了传递给 kcb.sh
shell 脚本的命令行选项。要运行基准测试,请参阅 从 CLI 运行基准测试。
配置概述
通过配置,可以针对一个或多个 Keycloak 服务器、域、用户和客户端运行基准测试。所有这些实体都需要在测试运行之前存在。有关如何执行此操作,请参阅 准备 Keycloak 以进行测试。
如果配置参数允许多个值(例如,Keycloak 服务器 URL)或解析为一系列值(例如,域名称),则这些值会在场景内的每次执行中随机分配。
通用参数
CLI 选项 | 默认值 | 说明 |
---|---|---|
|
(未设置) |
Keycloak 服务器的 URL。 指定用空格分隔的多个 URL,以针对多个服务器 URL 运行测试
|
|
false |
启用在场景中并发用户之间共享连接。如果负载生成器主机无法处理所需数量的 TCP 连接,这将非常有用。请注意,使用此选项将在目标系统上产生比真实世界更小的负载。请注意,只有在步骤之间暂停的场景才允许共享连接。
|
|
false |
由于测试可能涉及从单个测试系统到服务器上单个主机:端口的数万个连接,我们可能需要添加额外的地址来增加我们可以建立的 TCP 连接数,而这启用了这些地址的使用。当目标是
|
|
ClientSecret 场景 |
要运行的场景的完整类名,例如 |
(未设置) |
用户可以提供一个增量值来运行增量基准测试,以查找给定被测系统在模拟中设置的断言的限制。如果 CLI 选项在没有参数的情况下设置,则默认为增量值 |
|
|
(未设置) |
是否应为 Gatling 进程启用 Java 远程调试。如果 CLI 选项在没有参数的情况下设置,则默认为端口 |
|
|
开放工作负载模型:每秒添加到模拟的用户数。每个用户将执行一次模拟。 应指定 |
|
(未设置) |
闭合工作负载模型:多次执行同一场景的用户数。 应指定 |
|
|
达到满负载的爬坡时间。 |
|
|
测试的测量时间,以秒为单位。 |
|
|
在某些场景中使用的用户思考时间,以秒为单位。 |
|
(未设置) |
如果设置,将把所有失败的 HTTP 请求记录到控制台。 在测试和分析问题时启用此功能。永远不要在负载测试期间使用它,因为它会减慢 Gatling 的速度。 |
|
(未设置) |
如果设置,将把所有 HTTP 请求记录到控制台。 将记录大量信息。仅在开发期间使用此功能。永远不要在负载测试期间使用它,因为它会减慢 Gatling 的速度。 |
|
(未设置) |
如果设置,将把所有 HTTP 请求代理到您选择的代理工具,当前默认代理主机和端口分别为 永远不要在负载测试期间使用它,因为它会减慢 Gatling 的速度,以便能够将请求代理到代理客户端,并且通常会带来我们必须小心的常见代理细微差别。 |
|
|
运行期间允许失败的最大请求百分比。 |
跨多个域、用户和客户端运行
CLI 选项 | 默认值 | 说明 |
---|---|---|
|
|
可用域的数量。使用从 0 到 在默认值为 |
|
|
每个域中可用的用户数。使用从 0 到 在默认值为 |
|
1 |
每个域中可用的客户端数。使用从 0 到 在默认值为 |
当使用以下示例参数运行 CLI 时
--realm=10 --users-per-realm=10 --client-per-realm=10
这导致在场景中使用以下值
实体 | 值 |
---|---|
域 |
|
用户名 |
|
用户密码 |
|
客户端 ID |
|
客户端密钥 |
|
客户端重定向 URL |
相应域的帐户控制台
|
覆盖域、用户和客户端的默认值
CLI 选项 | 默认值 | 说明 |
---|---|---|
|
设置域名称的前缀。值为 如果未在 CLI 上设置,则域名称使用 |
|
|
(未设置) |
如果设置,测试将使用在此参数中设置的单个域运行。 如果未设置并且假设未设置 |
|
(未设置) |
如果设置,测试将使用在此参数中设置的单个用户名运行。 如果未设置,则用户名将从 |
|
(未设置) |
如果设置,测试将使用在此参数中设置的单个密码运行。 如果未设置,则密码将从 |
|
(未设置) |
如果设置,测试将使用在此参数中设置的单个客户端 ID 运行。 如果未设置,则客户端 ID 将从 |
|
(未设置) |
如果设置,测试将使用在此参数中设置的单个客户端密钥运行。 如果未设置,则客户端密钥将从 |
|
(未设置) |
如果设置,测试将使用在此参数中设置的单个 client-redirect-URI 运行。 如果未设置,则重定向 URL 是相应域的帐户控制台。 |
(未设置) |
以逗号分隔的作用域列表,用于在发出身份验证请求时设置。 如果未设置,则默认作用域为 |
其他设置
只有当场景需要这些设置时,这些设置才是必要的。请参阅 场景概述 以查看场景。
CLI 选项 | 默认值 | 说明 |
---|---|---|
|
(未设置) |
|
|
(未设置) |
|
|
在场景结束时注销的用户百分比。在 场景 AuthorizationCode 中使用。 |
|
|
令牌刷新之间等待的时间段。在 场景 AuthorizationCode 中使用。 |
|
|
登录后令牌刷新的次数。在 场景 AuthorizationCode 中使用。 |
|
|
|
在令牌刷新后关闭 HTTP 连接。在 场景 AuthorizationCode 中使用。 |
(未设置) |
要在 场景 Get 中调用的 URL。 |
进一步阅读
有关可用选项的完整列表,请参阅 Config.java。