gpt4 book ai didi

java - Akka 性能问题

转载 作者:行者123 更新时间:2023-12-01 10:16:25 27 4
gpt4 key购买 nike

我编写了一个 Akka 应用程序,让 10 个参与者执行我的自定义代码(即,从文件中逐行读取数据,应用一些函数,并将数据写入输出文件)。

当我在tomcat中执行代码时,当actor数量高于4时,性能会下降。

如果我执行与“Run AS JAVA Application”相同的代码,那么性能会很好。

在 tomcat 中运行 Akka 代码时是否缺少任何配置?请帮我解决这个性能问题。感谢您的帮助。

最佳答案

要了解是什么限制了应用程序的性能,您可以尝试使用一些分析器,例如 Visual vm。您可以查看线程面板,看看参与者使用了哪些线程,哪些线程是 tomcat 生成的,什么是热门线程/方法/代码行。这应该可以让您了解应用程序中的线程使用情况和薄弱环节。此外,您还应该了解代码的“边界”类型 - 最有可能是 cpu 或 io 边界。

根据之前获得的知识,你应该能够对代码进行一些优化。

可能的方向是:

  • io 相关优化(线程使用、缓冲)。我建议您查看akka-streams处理流数据(例如 csv 文件中的数据)的方式。 documentation中有专门的章节关于这一点。
  • 函数的算法优化。
  • 调整 akka actor 的资源使用。您可能想知道与 akka actor 一起工作时是调度程序设置。基本上,调度程序管理线程池并将参与者绑定(bind)到它。您可以阅读documentation关于这一点。

关于java - Akka 性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35865910/

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