播放2.4.6性能

时间:2016-12-21 07:30:01

标签: scala playframework playframework-2.0

我正在使用Play 2.4.6,Scala 2.11.8和Cassandra 2.1.14。几天前,我遇到了客户在15-20秒后收到来自游戏应用程序的回复的问题。我已经设置了2个运行播放应用程序的服务器,两个服务器都有8个核心。我不确定为什么播放应用程序响应如此缓慢。 CPU使用率非常低,约为15%。我使用fork-join pull和以下参数

session.connection().setAutoCommit(false);
    cs = session.connection().prepareCall("{?=call dequeue}");
    cs.registerOutParameter(1, OracleTypes.CURSOR);
    cs.executeUpdate();
    session.connection().commit();
    ResultSet rs = (ResultSet) cs.getObject(1);
    while(rs.next())

我在所有控制器中使用上面的池作为ExecutionContext,所有请求都包含在Action.async中。据我所知,play支持非常高的并发请求。在我的情况下,我只收到800个请求,我有两台服务器来处理请求。

当我尝试达到1000个并发请求时,所有请求都在不到50毫秒的时间内完成。我在本地环境中使用单核系统尝试了这一点。

我已经浏览了各种博客,并且看到对于IO fork join pool不应该是选择。我无法理解出了什么问题。有人可以解释可能存在的问题吗?我怎么能断定线程池是个问题呢?什么是“parallelism-max”的意思?它是否保持线程池数的上限?

0 个答案:

没有答案