為測試準備 Keycloak
為了執行負載測試,需要存在一些設定和實體。
如果您已使用 minikube 安裝 Keycloak,則設定會自動執行,作為安裝的一部分。
組態設定
選擇手動或腳本化組態,以設定用於負載測試的領域。若要設定大量的領域、用戶端和使用者,請考慮使用資料集提供者。
手動設定
某些情境需要啟用 使用者註冊
設定。
-
選擇用於測試的領域。
-
在
領域設定
中,選擇登入
索引標籤,並啟用登入畫面自訂使用者註冊
。
某些情境需要具有密碼的使用者
-
建立使用者。
-
在 憑證 索引標籤中,設定密碼。將密碼設為非暫時性,否則 Keycloak 會提示輸入密碼。
某些情境需要具有用戶端 ID gatling
的服務帳戶
-
選擇用於測試的領域。
-
建立一個名為
gatling
的用戶端。 -
將存取類型設定為
機密
。 -
勾選
啟用服務帳戶
。 -
輸入有效的重新導向 URI (例如
https://127.0.0.1
)。 -
按一下儲存。
-
變更為
服務帳戶角色
索引標籤。 -
在
用戶端角色
清單方塊中,選擇realm-management
。 -
根據下方各負載模擬情境的角色對應表,指派角色。
-
要傳遞到測試的用戶端密碼可以從
憑證
索引標籤複製。
情境名稱 | 已指派的角色 |
---|---|
CreateClient |
manage-clients, view-users |
CreateDeleteClient |
manage-clients, view-users |
CrawlUsers |
manage-clients, view-users |
CreateRole |
manage-realm |
CreateDeleteRole |
manage-realm |
CreateClientScope |
manage-clients, view-users |
CreateDeleteClientScope |
manage-clients, view-users |
CreateGroup |
manage-users |
CreateDeleteGroup |
manage-users |
CreateUsers |
manage-users |
CreateDeleteUsers |
manage-users |
腳本化組態
您可以改用此 initialize-benchmark-entities.sh 腳本來為您執行設定,而無需遵循上述手動步驟。
-
解壓縮下載的 Keycloak 效能基準測試模組。
initialize-benchmark-entities.sh
腳本位於此模組的bin
資料夾中。 -
將 Keycloak 發行目錄的路徑指定為環境變數
KEYCLOAK_HOME
。 -
使用 Keycloak 發行版本隨附的
kcadm.sh
CLI 腳本登入 Keycloak 伺服器。$KEYCLOAK_HOME/bin/kcadm.sh config credentials --server https://keycloak-keycloak.192.168.12.345.nip.io --realm master --user admin --password admin
-
執行以下命令以建立所需的領域、用戶端和使用者。
./initialize-benchmark-entities.sh -r test-realm -c gatling -u user-0
使用
-d
旗標,從頭開始重新建立實體,以備任何原因。./initialize-benchmark-entities.sh -r test-realm -c gatling -u user-0 -d