Keycloak 24.x 性能问题

问题描述 投票:0回答:1

我们已将 Keycloak 实施到我们的项目中以进行用户身份验证,并严格遵循此处概述的部署指南。

尽管尝试了各种配置,我们还是遇到了持续存在的问题。最初,在全新部署后或重新启动 Keycloak Pod 后,当每秒承受 20 个并发用户的负载并持续 5 分钟时,Keycloak 每秒可以可靠地处理 30-35 个令牌。然而,随着时间的推移,性能会下降,下降到每秒 8-9 个令牌。最终,这种下降会导致诸如

closedChannelException
IOException
之类的错误。 Error Stacktrace

我们监控了 CPU 和内存使用情况,以调查潜在的性能限制,但发现在发生性能下降和引发异常之前,它始终运行在分配容量的 50% 以下。 这是我们的部署配置:

KC_DB_POOL_INITIAL_SIZE : 20
KC_DB_POOL_MAX_SIZE : 20
KC_DB_POOL_MIN_SIZE : 20
KC_DB_URL_PROPERTIES : ;trustServerCertificate=true;encrypt=true;
KC_HTTP_MAX_QUEUED_REQUESTS : 500
KC_LOG_LEVEL : INFO,org.infinispan:INFO,org.jgroups:INFO
KC_PROXY : edge
KC_HTTP_POOL_MAX_THREADS: 20
KC_TRANSACTION_XA_ENABLED : false

您能否建议我们应该调查以提高性能的领域,或者为我们的部署配置提供任何推荐的预设?

performance optimization deployment keycloak
1个回答
0
投票

答案:升级到Keyclaok 25

Keycloak 24.x 对其哈希算法进行了更新,我们从 Keyclaok 23 中 27K 次迭代的 PBKDF2-SHA1 升级到超过 210K 次迭代的 PBKDF2-SHA512,代价是 CPU 使用率增加了近 10 倍。

使用 keycloak 25,我们现在有了 argon2 算法,它大大减少了哈希密码的 CPU 使用率。

© www.soinside.com 2019 - 2024. All rights reserved.