docker - 限制 Keycloak 工作线程
问题描述
我目前正在尝试通过 docker 托管一个带有 oauth 服务器的小型 Spring Boot 后端。
不幸的是,我选择的 vServer 在 /proc/user_beancounters 中设置了 400 个进程/内核线程的限制。
当启动 jwilder/nginx-proxy 时,带有 db 的 spring boot 应用程序(设置为只有 1 个 tomcat 线程)和带有 db 的 Keycloak 服务器超过了这个限制,一切都停止了。
我的方法是限制 Keycloak 中的工人,因为我不需要这么多。
14:35:23,948 INFO [org.wildfly.extension.io] (ServerService Thread Pool -- 40) WFLYIO001: Worker 'default' has auto-configured to 8 IO threads with 64 max task threads based on your 4 available processors
但是我真的找不到任何关于如何在 Keycloak 中配置这个参数的解释。
所以问题是:如何配置限制?或者也许有更好的方法来解决这个问题?
解决方案
您可以standalone.xml
在 WildFly/Keycloak 实例中配置它。参数在io
子系统下:
<subsystem xmlns="urn:jboss:domain:io:3.0">
<worker name="default" io-threads="8" task-max-threads="64"/>
<buffer-pool name="default"/>
</subsystem>
推荐阅读
- vue.js - 如何在具有全局变量的 Vue 应用程序中正确初始化 RxDB
- pine-script - 绘图功能未在 pine 脚本中显示所需的结果
- dashboard - Thingsboard 仪表板:“主页仪表板”和“默认仪表板”有什么区别?我们可以创建自定义仪表板吗?
- python - 给定模型对象的特定 id,如何在 Django 中提取其多对多字段的所有详细信息?
- data-structures - GCD 和简单路径
- python - 如何解决 IndexError:只有整数、切片 (`:`)、省略号 (`...`)、numpy.newaxis (`None`) 和整数或布尔数组是有效的索引
- html - 获取当前活动浏览器窗口的html源代码(Python)
- r - 为什么有两个不同的集群图像?
- amazon-web-services - kubernetes (eks) 中是否有用于外部 DNS 的选择器,以路由到正确的 Fargate 实例?
- qt - Qt 应用程序无法从 STM32 设备读取串行信息,除非它们在另一个串行监视器中打开