Tomcat / Jetty - 未处理间歇性请求

时间:2012-10-01 15:07:47

标签: java tomcat tcp jetty

我正在Red Hat服务器上部署带有Tomcat / Jetty的Java SOAP servlet。我在另一台服务器上启动客户端,每秒发送5个请求。我的读取超时为10秒,请求平均需要处理20毫秒。

但有时1小时后,Web服务器永远不会回答请求。客户端记录SocketTimeoutException:Read timed out。

  • 两台服务器上的负载平均值,iowait和内存使用率都很低。
  • 我调整了我的垃圾收集器,暂停时间非常短。
  • 我更改了缓冲区大小但没有帮助。
  • 我的SOAP消息只有300-500个字符。
  • 我在另一台服务器上试过但它仍然发生了。
  • Tomcat / Jetty线程池未饱和。
  • 我尝试过Jetty 7,8和Tomcat 7。
  • 我没有看到容器记录的任何错误。
  • 我在64位上使用Java 7 update 7.
  • 我正在使用属性-Djava.net.preferIPv4Stack = true

我用Wireshark查看了tcpdump,只有当它是TCP连接的第一个请求时才会出现问题。服务器确认所有数据包。当我降低Keep-Alive连接的数量时,问题会更频繁发生。

似乎Tomcat / Jetty接受了连接,但它没有读取任何内容。我尝试了100秒的读取时间,问题仍然存在。

你知道是什么原因引起的吗?

0 个答案:

没有答案