休息服务器(Play Framework)在负载测试期间获得“读取超时”异常

时间:2014-07-05 15:49:39

标签: rest playframework jmeter load-testing

我们正在使用Play Framework在休息服务器上运行重负载测试(jmeter:350个线程,总共35M请求),并在~2小时后遇到以下错误。我们删除其他组件,以便请求只接受请求而不执行任何操作。任何人都有任何想法,或者只是Play Framework无法处理这样的重载?

2014/07/05 11:59:38 WARN  - com.company.test.RestTest2: Run TestSQL throw error java.lang.Exception: com.sun.jersey.api.client.ClientHandlerException: java.net.SocketTimeoutException: Read timed out
        at com.company.dispatcher.RexsterRESTTaskDispatcher.dispatchTask(RexsterRESTTaskDispatcher.java:76)
        at com.company.test.RestTest2.runTest(RestTest2.java:375)
        at org.apache.jmeter.protocol.java.sampler.JavaSampler.sample(JavaSampler.java:191)
        at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:429)
        at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257)
        at java.lang.Thread.run(Thread.java:744)

application.conf的一部分: ....

db.pool.timeout=100000

play {
  akka {
    akka.loggers = ["akka.event.Logging$DefaultLogger", "akka.event.slf4j.Slf4jLogger"]
    loglevel = WARNING
    actor {
      default-dispatcher = {
        fork-join-executor {
          parallelism-factor = 64
          parallelism-max = 1000
        }
      }
    }
  }
}

1 个答案:

答案 0 :(得分:-1)

有很多事情需要检查:

  • 您是否在同一台机器上运行测试?如果是的话,这是一个问题

  • 您的计算机是否已调整TCP堆栈?

  • 只要您的机器内存,CPU,您的JVM配置是什么?

  • 您的测试结果如何?你能展示一个展开所有元素的截图吗?

我认为Play / AKKA可以毫无问题地处理这个负载,所以我会研究配置问题。