【发布时间】:2014-07-06 19:03:33
【问题描述】:
我正在为我的 Web 应用程序进行负载测试,我将连接超时和响应超时设置为 20 秒,有时我会遇到以下异常:
Non HTTP response code: java.net.SocketTimeoutException: Non HTTP response message: Read timed out
我在 JMeter 测试结果中得到了上述异常,我的应用程序中没有抛出任何错误,也没有可用于跟踪异常的堆栈跟踪。
我想知道消息的原因是什么:应用程序正在等待处理某些东西或慢速 SQL 或挂起线程或应用程序拒绝连接,因为已达到极限?
请告知我如何知道此异常的原因以及如何修复它。
【问题讨论】:
-
@Raedwald,在 JMeter 测试结果中,没有可用于跟踪应用程序的堆栈跟踪,而且我的应用程序也不会抛出异常来跟踪,所以请投赞成票。
-
@Raedwald 如果您有使用 JMeter 的经验,您就会知道我在说什么,请不要太小看我,这个答案对我的经验来说是一种耻辱 :( :(
-
它发生在 1 个线程上吗?如果它在您增加用户时发生 - 这可能是您的应用程序问题。如果没有,您是否为 JMeter 设置了足够的堆?
-
有什么奥秘?只有一个原因。读取超时。服务器在超时期限内没有发送任何内容。
标签: java testing jmeter load-testing socket-timeout-exception