Jas*_*onG 9 scalability cpu-usage fork-join akka forkjoinpool
我们在负载测试和扩展akka应用程序方面取得了一些进展,但我们看到scala.concurrent.forkjoin.ForkJoinPool.scan()在visualvm中成为第二大热点,约占自我时间的20%.自我时间(CPU)列仅表示其中的一小部分(小于自身时间列值的1%).
我怀疑这意味着阻塞或上下文切换可能存在问题,但我不太确定 - 任何人都可以提供洞察力吗?如果它是上下文切换我猜测调度调度程序吞吐量到更高的数量可能会增加我们的收益,否则如果它是由阻塞引起的,我们需要更多地读取代码.
任何见解都非常感激.
Bjö*_*son 11
扫描方法也是ForkJoinPool中无效线程在找不到工作时"停放"的地方.
拥有20%的自我时间和1%的自我CPU时间让我觉得你在ForkJoinPool中有非活动线程停在那里.
我假设您在采样模式下使用VisualVM.默认情况下,VisualVM会筛选出标准库中的内容.请参阅此答案,了解如何更改设置并更好地了解正在发生的情况./sf/answers/1127964701/