首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用akka http服务器在play框架中使用更多线程

使用akka http服务器在play框架中使用更多线程
EN

Stack Overflow用户
提问于 2021-07-07 13:07:23
回答 1查看 168关注 0票数 1

我们有一台从去年开始在生产中运行的web服务器,没有任何问题,但最近用户数量激增,从那时起,我们看到工作时间严重缓慢,我们有时也看到服务器没有响应,所以这对我们来说是一个严重的问题。

我们观察到数据库侧的最大利用率是在最大的8个活动连接,而不是更多。因此,我们将问题缩小到“Play framework或akka服务器只允许有限的线程池来管理所有负载,从而造成瓶颈”。

作为play框架和akka http服务器的新成员,我们已经尝试了以下各种组合,但在运行时仍然没有看到线程池的增加。它总是8。注意:这‘8’是一致的pc与8个逻辑核和我们的生产服务器,有6个核心。

供参考的线程名称示例:

应用程序-akka.actor.default-Dispatcher-3

下面的示例配置:

代码语言:javascript
运行
复制
#akka.action.default-dispatcher.executor = "fork-join-executor" akka.action.default-dispatcher.executor = "thread-pool-executor"
#akka.action.default-dispatcher.throughput = 100 akka.action.default-dispatcher.thread-pool-executor.fixed-pool-size = 300
#akka.action.default-dispatcher.thread-pool-executor.core-pool-size-min = 2
#akka.action.default-dispatcher.thread-pool-executor.core-pool-size-factor = 2.0
#akka.action.default-dispatcher.thread-pool-executor.core-pool-size-max = 10
#akka.action.default-dispatcher.fork-join-executor.parallelism-max = 24
 
akka.http.host-connection-pool.max-connections = 20
EN

回答 1

Stack Overflow用户

发布于 2021-07-07 17:24:41

您的问题非常广泛,很难给出明确的答案,但是除了可能需要增加阻塞调用的Akka线程池执行器大小之外,还有数据库池的配置:

代码语言:javascript
运行
复制
play.db.prototype.hikaricp.maximumPoolSize = 20

我建议阅读正式文件的两个部分:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68286663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档