微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

spring webflux 应用程序的 workerThread 池大小应该是多少?

如何解决spring webflux 应用程序的 workerThread 池大小应该是多少?

我的要求是在部署 spring webflux 应用程序的同一台服务器上运行其他 Java 应用程序。由于认情况下 spring webflux 使用与 cpu 内核一样多的工作线程,这些会不会导致其他 Java 应用程序的 cpu 争用问题?我是否应该减少工作线程的数量以提高所有应用程序的性能

解决方法

在具有多个正在运行的应用程序的共享服务器上进行调整会适得其反,例如如果其中一个应用程序遇到 CPU 使用率激增怎么办?在这种情况下,您将不得不选择:

  1. 在所有应用程序之间共享 CPU 内核。这会导致可能的争用,但也会使用所有可用的 CPU 内核。

  2. 将 CPU 内核分配给特定应用程序并面临利用率不足的风险。这也是一个更复杂的设置,可能必须在操作系统级别完成,并且在 Windows 和 Linux 之间会有所不同。

您选择的路线取决于您的应用程序类型,例如您是否针对吞吐量、延迟或最大 GC 暂停进行了优化。没有一个答案可以适合所有情况。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。