首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Play框架2.0.x AskTimeoutException

Play框架2.0.x AskTimeoutException
EN

Stack Overflow用户
提问于 2012-10-02 08:16:38
回答 1查看 1.8K关注 0票数 3

我试图在我的Play 2.0.2应用程序上进行一些负载测试,但是我经常遇到以下异常:

无法调用操作,最终得到一个错误:引发(akka.pattern.AskTimeoutException: Timed )

我正在使用http://blitz.io/进行负载测试。

我的技术栈是Play + mysql。

我没有在我的应用程序中使用任何承诺。

下面是定制的akka配置:

代码语言:javascript
复制
#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实例是很自然的吗?关于mem的使用,java play实例在产卵时得到512 70 1536 70,从统计数据中我可以看到内存平均使用了50-70%,所以可能不是问题所在(可能是mem泄漏等等)。

我的日程安排非常紧,所以我希望能找到任何帮助/建议来调查(或者可能解决)这个问题。

谢谢一堆人!

EN

回答 1

Stack Overflow用户

发布于 2012-12-06 19:52:42

我认为您可能有一些阻塞IO,这就是您需要retrieveBodyParserTimeout = 10 second攻击的原因。试着让它异步。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12686706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档