全部产品
云市场

压测和调试日志中常见的Error信息有哪些?分别表示什么意思?

更新时间:2019-08-27 14:23:12

以下为压测和调试日志中,常见的 Error 信息:

  1. 问:错误信息中的 class java.net.SocketTimeoutException:null 表示什么意思?

    答:表示请求在等待响应或者读取中途(idle)超时,请检查服务端健康状况或者PTS的压测API超时时间设置是否合理,另外还有可能是服务端处理能力出现瓶颈。

  2. 问:错误信息中的 class java.net.ConnectException:null 表示什么意思?

    答:表示请求在和远端(被压测端)建立tcp连接时就出现失败或者被远端拒绝,请检查服务端健康状况,或者是网络连接层是否有瓶颈。

  3. 问:错误信息中的 class java.util.concurrent.TimeoutException:null 表示什么意思?答:同上。

  4. 问:错误信息中的 class org.apache.http.ConnectionClosedException:Connection closed 表示什么?

    答:表示连接异常关闭,服务端主动关闭了连接。

  5. 问:错误信息中的 class java.io.IOException:Connection reset by peer 表示什么?

    答:表示连接被重置。若使用了 SLB,请查看 SLB 的配置是否有问题。

  6. 问:错误信息中的 class org.apache.http.ConnectionClosedException:Connection closed unexpectedly 表示什么?

    答:表示数据尚未接收完毕,连接就已关闭。可能服务端未及时响应或者提前终止调试或压测。

  7. 问:错误信息中的 class java.lang.RuntimeException:java.net.UnknownHostException 表示什么?

    答:表示域名信息无法解析。请检查域名是否已经正常注册并可以解析、未注册的域名是否已进行域名绑定。

最后建议结合Timing瀑布模型看,各种报错都可以体现在Timing瀑布模型中,比如

下图是建立连接环节超时。

tcp超时

下图是等待响应或者读取响应的间隔时间超时。Waiting (TTFB)表示等待第一个响应字节的时间。这个时间包括一次完整的往返和延迟,同时包括了服务器应对响应所用的时间。

socket超时