Java套接字超时异常,是什么导致这些错误

Java套接字超时异常,是什么导致这些错误,java,sockets,Java,Sockets,IBM Websphere应用程序服务器上的负载增加,导致套接字超时异常。我们试图看看超时是否是由应用服务器上的速度慢引起的。或者,超时仅仅是基于到soapweb服务的套接字数据传输活动引起的。基本上,增加客户端机器上的负载会导致套接字超时吗?或者,超时完全是由于服务器端的响应时间慢造成的。或者两者都有?我的第一个想法是,超时是由于服务器的响应时间太慢造成的 下面是一个错误示例。这是连接到windows计算机的Java web应用程序(客户端),即C#web服务 WebServicesFault

IBM Websphere应用程序服务器上的负载增加,导致套接字超时异常。我们试图看看超时是否是由应用服务器上的速度慢引起的。或者,超时仅仅是基于到soapweb服务的套接字数据传输活动引起的。基本上,增加客户端机器上的负载会导致套接字超时吗?或者,超时完全是由于服务器端的响应时间慢造成的。或者两者都有?我的第一个想法是,超时是由于服务器的响应时间太慢造成的

下面是一个错误示例。这是连接到windows计算机的Java web应用程序(客户端),即C#web服务

WebServicesFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultString: java.net.SocketTimeoutException: Async operation timed out
faultActor: null
faultDetail: 

java.net.SocketTimeoutException: Async operation timed out
                at com.ibm.ws.webservices.engine.WebServicesFault.makeFault(WebServicesFault.java:283)
                at com.ibm.ws.webservices.engine.transport.http.HTTPSender.invoke(HTTPSender.java:725)
                at com.ibm.ws.webservices.engine.PivotHandlerWrapper.invoke(PivotHandlerWrapper.java:263)
                at com.ibm.ws.webservices.engine.PivotHandlerWrapper.invoke(PivotHandlerWrapper.java:263)
                at com.ibm.ws.webservices.engine.PivotHandlerWrapper.invoke(PivotHandlerWrapper.java:263)
IBM的文档将责任归咎于服务器:

WS3228E异常发生在WebService客户端(JAX-RPC)中 调用WebService调用和WebService提供程序需要超过 处理请求的默认超时(300秒)

服务器响应请求的时间超过5分钟(300秒)。最有可能的情况是服务器负载过大。另一个可能的罪魁祸首是服务器的备份服务(例如,数据库或其他web服务)速度慢/无响应。它可能是客户端和服务器之间的链接。您需要从服务器中获取一些指标,以确定请求被捕获的位置


我可以建议你读书吗。它列出了分布式系统出现问题的原因,并提出了修复方法。

在IBM应用服务器上调查了一个类似的问题,异常为“java.net.SocketTimeoutException:Async operation timeout”,最后我发现控制超时的JVM参数是(对于JAXWS调用):

我不是建议你增加这些暂停时间。你首先需要找出为什么突然你的电话需要5分钟以上才能回复。如果有正当理由增加这些参数,可以通过以下方式将这些参数传递给Java程序:

java -classpath "/classpath/dir1/*:/classpath/dir2/" -Dtimeout=600 -Dwrite_timeout=600 ClassName arg1 arg2
IBM参考:

java -classpath "/classpath/dir1/*:/classpath/dir2/" -Dtimeout=600 -Dwrite_timeout=600 ClassName arg1 arg2