【问题标题】:max-pool-size for DB connections Keycloak version 11数据库连接的最大池大小 Keycloak 版本 11
【发布时间】:2020-12-29 18:33:44
【问题描述】:

正在尝试调查有关 keycloak 部署的问题。 从documentation 我们看到我们应该在 stanealone.xml 中更改此属性以允许更多

但是,在将独立 xml 更改为此之后

                </datasource>
                <datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true" use-ccm="true">
                    <connection-url>jdbc:postgresql://${env.DB_ADDR:postgres}/${env.DB_DATABASE:keycloak}${env.JDBC_PARAMS:}</connection-url>
                    <driver>postgresql</driver>
                    <pool>
                        <max-pool-size>200</max-pool-size>
                    </pool>

当我们允许 JMX 连接到管理控制台时,我注意到了这一点 max pool size showing 19

是否有任何东西可以覆盖我们正在使用的 max-pool-size 设置,或者如果不是从standalone.xml 派生 max-pool-size ,将如何进行调试

【问题讨论】:

  • 这令人不安......我认为一旦打开更多连接,JMX 报告的最大池大小可能会增长。您能否将&lt;initial­-pool­-size&gt; 参数设置为更高的值(200 ?)并检查您使用 JMX 看到的最大池大小是否更高?
  • 不幸的是添加并没有改变,启动时最大显示为 20 个连接
  • 您能告诉我您使用的是哪个 Keycloak 版本吗?我认为在旧版本中 属性没有嵌套在 下。
  • KC 版本 11.0.2

标签: postgresql jboss keycloak


【解决方案1】:

我不知道您究竟为什么会遇到这个问题,但我会尽我所能提供帮助。

Keycloak 11 使用 Widlfy 20,offers several options to configure the datasource

请尝试设置

  • pool-use-strict-min 为 true
  • pool-prefill 为 true
  • 最小池大小为 200
  • 初始池大小为 200

另外,monitor the number of opened connection on your Postgres database,并检查他们是否会收到您收到的 JMX 报告。

最后,如果这些都不会导致您的情况发生变化,我只能建议尝试另一个 ManagedConnectionPool 实现(请参阅 mcp 属性)

【讨论】:

  • 抱歉,我不能再有用了。其他选项是在 Keycloak 问题跟踪器 (github.com/keycloak/keycloak-community/issues) 上发布问题或使用 Wildfly 标签提出新问题,也许 StackOverflow 上的一些 Widfly 专家将能够回答。
  • 接受这个作为答案,因为它包含有助于进一步调试的有用信息和资源。我们这边的问题实际上是它使用的是standalone-ha.xml而不是standalone.xml,并且从未被注意到
猜你喜欢
  • 1970-01-01
  • 2020-01-02
  • 2011-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-06
  • 2016-08-21
  • 2019-02-24
相关资源
最近更新 更多