Nil*_*esh 1 scala akka akka-http
在我的Akka HTTP应用程序中,我必须在某些情况下多次初始化我的actor系统.就像在我的服务中一样,我需要执行器和actor系统的隐式val.所以,我在我的服务层类中已经初始化了4次这样的actor系统:
private implicit val actorSystem = ActorSystem()
Run Code Online (Sandbox Code Playgroud)
我只终止了一个处于根级别的actor系统.其他人没有被终止
这会影响我的应用程序性能吗?因为我的应用程序在运行1到2天后挂起.
在您的应用程序中使用许多actor系统是一个坏主意.
基本上每个ActorSystem都带有一个默认的调度程序,它由一个fork-join池支持.这个池在平衡工作和可用线程方面做得非常好.也就是说,如果在同一个JVM上运行多个actor系统,最终会创建太多(虚拟)线程,从而导致进程中的性能下降.理想情况下,您需要尽可能多的线程,因为CPU核心具有最佳利用率.
请访问此文章一次https://manuel.bernhardt.io/2016/08/23/akka-anti-patterns-too-many-actor-systems/
如果这回答了你的问题,也请告诉我.
| 归档时间: |
|
| 查看次数: |
116 次 |
| 最近记录: |