当领域数达到470左右时,Keycloak基本上变得不稳定
Posted
技术标签:
【中文标题】当领域数达到470左右时,Keycloak基本上变得不稳定【英文标题】:When realm count reaches around 470, Keycloak basically becomes unstable 【发布时间】:2019-06-25 04:21:29 【问题描述】:我们有一个 Keycloak 4.8.1.Final 部署在一个 k8 集群上,其中有两个 具有默认设置的节点。后端数据库是 PostgreSQL。
我们正在增加 Keycloak 中的领域数量,以确定是否 Keycloak 可以支持更多的领域;这些创作完成了 顺序。
但是,当领域数量达到470左右时,它会制作keycloak 根本无法使用管理 GUI 根本不加载和请求 执行时间过长。
以下是所用时间的摘要。我们尚未将任何用户添加到 领域。
+--------------+----------+------------+------------+------------+
| Operation | 0 realms | 100 realms | 250 realms | 350 realms |
+--------------+----------+------------+------------+------------+
| Create realm | 1104 | 3739 | 8659 | 11535 |
| Get realm | 128 | 961 | 3067 | 3853 |
| Get token | 636 | 1159 | 2714 | 3197 |
| Get roles | 127 | 1037 | 3034 | 3649 |
+--------------+----------+------------+------------+------------+
是否有任何已知限制或最佳领域数 密钥斗篷部署?
也已经在user group 中提出。
【问题讨论】:
原因是 Keycloak 一次性加载缓存中的所有领域 有这个限制的消息吗? @lkamal 您能否尝试为您的 Postgres 实例启用pg_stat_statements
扩展,并共享有关数据库查询性能的信息,例如使用SELECT * FROM pg_stat_statements ORDER BY max_exec_time DESC
。
如果我没记错的话,Keycloak Jira 中存在相应的问题,并且在最近或不久的将来的版本中是/应该对多领域性能进行一些改进
@lkamal 了解以下信息也很有帮助:a) 在等待请求完成时,keycloak
进程的 CPU 使用率是多少? b) postgres
进程的 CPU 使用率是多少? c) keycloak
和 postgres
进程运行在什么机器类型(CPU、RAM、磁盘类型)上?哪些是瓶颈?
【参考方案1】:
在这方面有一些未解决的问题已经有一段时间了:
https://issues.redhat.com/browse/KEYCLOAK-6826 https://issues.redhat.com/browse/KEYCLOAK-6535 https://issues.redhat.com/browse/KEYCLOAK-4593 http://keycloak-user.88327.x6.nabble.com/keycloak-user-Keycloak-Performance-with-large-number-of-realms-td3853.html https://lists.jboss.org/pipermail/keycloak-user/2016-October/008061.html据我回忆,有几个消息来源指出大约 400 个领域的性能下降。然而,上述问题似乎都没有得到有效解决。
【讨论】:
以上是关于当领域数达到470左右时,Keycloak基本上变得不稳定的主要内容,如果未能解决你的问题,请参考以下文章