我在Websphere 8.5.5上运行了一个应用程序。在高负载下,特定服务通常需要50ms才能响应,但间歇性地,所有4个平衡JVM开始需要大约4秒来处理请求。问题持续了大约2秒钟,然后响应时间恢复正常。
似乎当同时用户数量增加到一定数量时会出现问题,但环境变得能够处理请求并且响应时间恢复正常。
我可以看到缓慢的方法是:
createXMLStreamReader(InputStream, String)
来自班级 StaxUtils
此方法正在调用堆栈
at com.ibm.io.async.AbstractAsyncFuture.waitForCompletion(AbstractAsyncFuture.java:359)
at com.ibm.io.async.AsyncFuture.getByteCount(AsyncFuture.java:218)
at com.ibm.ws.tcp.channel.impl.AioSocketIOChannel.readAIOSync(AioSocketIOChannel.java:215)
at com.ibm.ws.tcp.channel.impl.AioTCPReadRequestContextImpl.processSyncReadRequest(AioTCPReadRequestContextImpl.java:182)
... 51 more
经过一番研究后,我发现了一些类似的问题,但似乎没有一个是我需要的。
PM21874: A JAX-WS client might fail with an asynchronous timeout error
Intermittent WSI transport error when searching for or creating work items