gpt4 book ai didi

scala - 为什么我的 Akka 应用程序在 1 到 2 天后挂起?

转载 作者:行者123 更新时间:2023-12-05 08:54:24 25 4
gpt4 key购买 nike

在我的 Akka HTTP 应用程序中,在某些情况下我必须多次初始化我的 actor 系统。就像在我的服务中一样,我需要执行者和参与者系统的隐式 val。所以,我在我的服务层类中像这样初始化了 4 次 actor 系统:

private implicit val actorSystem = ActorSystem()

我只终止了一个处于根级别的参与者系统。其他未终止。

这会影响我的应用程序性能吗?因为我的应用程序在运行 1 到 2 天后挂起。

最佳答案

在您的应用程序中使用多个 actor 系统不是一个好主意。

基本上每个 ActorSystem 都带有一个默认的调度程序,它由一个 fork-join 池支持。这个池在平衡工作和可用线程方面做得非常好。也就是说,如果您在同一个 JVM 上运行许多 actor 系统,这最终会创建太多(虚拟)线程,从而降低进程的性能。理想情况下,您需要的线程数与 CPU 内核数一样多,且利用率最高。

这篇文章请看一遍https://manuel.bernhardt.io/2016/08/23/akka-anti-patterns-too-many-actor-systems/

另外,如果这回答了您的问题,请告诉我。

关于scala - 为什么我的 Akka 应用程序在 1 到 2 天后挂起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50192377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com