Playframework 播放2一次处理1个请求

Playframework 播放2一次处理1个请求,playframework,playframework-2.0,Playframework,Playframework 2.0,我面临的情况是,我的应用程序正在处理队列中的请求,即一次处理一个请求。当一个请求完成时,另一个请求开始执行,依此类推。为了模拟这一点,我开发了一个小代码 我在一个新的应用程序中使用默认播放设置尝试了这个场景。我试图在浏览器的不同选项卡上多次模拟加载和点击url 这是我的Akka配置 akka.actor.default-dispatcher.fork-join-executor.pool-size-max=64 //这是我的控制器动作 import play.api.libs.concurren

我面临的情况是,我的应用程序正在处理队列中的请求,即一次处理一个请求。当一个请求完成时,另一个请求开始执行,依此类推。为了模拟这一点,我开发了一个小代码

我在一个新的应用程序中使用默认播放设置尝试了这个场景。我试图在浏览器的不同选项卡上多次模拟加载和点击url

这是我的Akka配置

akka.actor.default-dispatcher.fork-join-executor.pool-size-max=64

//这是我的控制器动作

import play.api.libs.concurrent.Execution.Implicits._

   def sayHello = Action { implicit request =>
      println("before")


    Async {
        Thread.sleep(20000)
        WS.url("http://www.example.com").get().map { response =>
        // This code block is executed in the imported default execution context
        // which happens to be the same thread pool in which the outer block of
        // code in this action will be executed.
          Ok("The response code was " + response.status)
        }
      }
  } 
行为是相同的…后续请求直到前一个请求完成,即一次只执行一个请求,才会开始执行

Akka版本2.3.0(尽管它与2.2.3的工作原理相同) 播放版本2.2.1

在这里寻求社区的帮助……还是我做错了什么

![Thread details][1]
RMI TCP Accept-04:58.094(100.0%)0.0(0.0%)0.0(0.0%)0.0(0.0%)4:58.094 附加侦听器4:58.094(100.0%)0.0(0.0%)0.0(0.0%)0.0(0.0%)4:58.094 螺纹-7 4:58.094(100.0%)0.0(0.0%)0.0(0.0%)0.0(0.0%)4:58.094 螺纹-6 4:58.094(100.0%)0.0(0.0%)0.0(0.0%)0.0(0.0%)4:58.094 过程收割机4:58.094(100.0%)0.0(0.0%)0.0(0.0%)0.0(0.0%)4:58.094 信号调度员4:58.094(100.0%)0.0(0.0%)0.0(0.0%)0.0(0.0%)4:58.094 主旋律4:58.094(100.0%)0.0(0.0%)0.0(0.0%)0.0(0.0%)4:58.094 RMI TCP连接(2)-192.168.5.29 4:57.261(100.0%)0.0(0.0%)0.0(0.0%)0.0(0.0%)4:57.261 RMI TCP连接(1)-192.168.5.29 2:42.952(68.1%)0.0(0.0%)1:16.078(31.8%)0.0(0.0%)3:59.030 JMX服务器连接超时52 0.0(0.0%)0.0(0.0%)4:58.094(100.0%)0.0(0.0%)4:58.094 RMI调度程序(0)0.0(0.0%)0.0(0.0%)4:58.094(100.0%)0.0(0.0%)4:58.094 螺纹-40.0(0.0%)0.0(0.0%)4:58.094(100.0%)0.0(0.0%)4:58.094 终结器0.0(0.0%)0.0(0.0%)4:58.094(100.0%)0.0(0.0%)4:58.094 参考处理程序0.0(0.0%)0.0(0.0%)4:58.094(100.0%)0.0(0.0%)4:58.094

问候,


Marut

测试此项时,请确保您正在生产模式下运行:
播放开始

并根据文档仔细检查线程配置:


您需要确保已根据一次要处理的阻塞请求数量调整线程池的大小。您可以使用
jvisualvm
查看线程使用情况。

谢谢您的提示,James..尽管我发现问题出在Chrome浏览器上。狩猎时的行为是不同的。我甚至用JMeter进行了负载测试,没有什么出人意料的。我仍然需要弄清楚为什么ChromeI使用ApacheBench在应用程序中抛出一堆请求是特定的。