CLI からのベンチマーク実行

既にプロビジョニングされた Keycloak インスタンスに対して、任意のホストからベンチマークを実行するための汎用的なコマンドライン。

これは、ローカルで実行中の Keycloak インスタンスに対して Keycloak ベンチマークを実行するために使用します。リモートの Keycloak インスタンスに対して毎秒 300 人を超える新規ユーザーを実行する場合、TIME_WAIT モードの多数のネットワーク接続が原因で負荷生成が停滞する可能性があります。そのような場合は、Ansible と EC2 を介したベンチマークの実行 または同様のメカニズムを使用して、負荷生成を複数のノードに分割してください。

前提条件

  1. テストのための Keycloak の準備 からの Keycloak URL

  2. ベンチマークモジュールをダウンロード するか、ローカルでビルド してください。

    ローカルで変更せずにテストをそのまま実行するには、ダウンロードすることをお勧めします。

  3. パスに java 実行可能ファイルが使用可能な状態で Java 21 がインストールされていること。

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

利用可能なすべてのシナリオとその構成オプションの概要については、シナリオの概要 を参照してください。

さまざまなパラメータの設定については、ベンチマークの設定 を参照してください。

シングル実行モードとインクリメンタル実行モード

デフォルトであるシングル実行モードでは、スクリプトは 1 回実行し、結果をコンソールに出力します。

インクリメンタルモード(CLI オプション --increment によってトリガーされる)では、スクリプトはウォームアップとしてベンチマークを 1 回実行し、次に再度実行します。成功した場合、パラメータで指定されたように、ワークロードを徐々に増やしながら繰り返し実行します。いずれかのインクリメント後にベンチマークが失敗すると、スクリプトはより小さなインクリメントで追加の実行を行い、最大可能な成功ワークロードを見つけて、この情報をコンソールに出力します。

レポート

デフォルトの Gatling によって生成されたレポートについては、result ディレクトリにあるレポートを確認してください。その他のレポートについては、Keycloak ベンチマークのレポート を参照してください。