我试图做我的播放2.0.2应用中的一些负载测试,但我一直运行到以下异常:
不能调用动作,最终得到了一个错误:抛出该异常(akka.pattern.AskTimeoutException:超时)
我使用http://blitz.io/做我的负载测试。
我的技术堆栈播放+ mysql的。
我没有使用我的应用程序的任何承诺。
这里的定制阿卡配置:
#default timeout for promises
promise.akka.actor.typed.timeout=10s
play {
akka {
event-handlers = ["akka.event.slf4j.Slf4jEventHandler"]
loglevel = ERROR
actor {
deployment {
/actions {
router = round-robin
nr-of-instances = 100
}
/promises {
router = round-robin
nr-of-instances = 100
}
}
retrieveBodyParserTimeout = 10 second
actions-dispatcher = {
fork-join-executor {
parallelism-factor = 100
parallelism-max = 200
}
}
promises-dispatcher = {
fork-join-executor {
parallelism-factor = 100
parallelism-max = 200
}
}
websockets-dispatcher = {
fork-join-executor {
parallelism-factor = 100
parallelism-max = 200
}
}
default-dispatcher = {
fork-join-executor {
parallelism-factor = 100
parallelism-max = 200
}
}
}
}
}
还有一两件事:在应用程序运行了一天左右后,它开始放缓。 在(使用HTOP)检查资源,我看到CPU利用率为100%,因此其明确表示,节点坚持做太多的工作,它的响应得到极大延迟。 此外,我可以看到很多java实例已经催生了(8-10)上的平均。 这是为什么? 它是天然的Play应用程式产卵这么多的Java实例? 关于内存使用,Java的游戏实例都有512MB-1536MB在产卵的时候,我可以从该内存约为50-70%,平均使用的统计数据看所以也许那不是哪里出了问题(可能MEM泄漏等) 。
我上的非常紧迫的时间运行,所以我希望得到任何帮助/指针我可以进入调查(或者可能是固定)这个问题。
多谢!