Java WebSphereHTTP出站连接池使用情况

Java WebSphereHTTP出站连接池使用情况,java,web-services,soap,websphere,connection-pooling,Java,Web Services,Soap,Websphere,Connection Pooling,我有一个运行在WebSphereApplicationServer6.1.0.43上的应用程序。我在尝试调用远程服务时遇到了减速问题 减速发生在类outboundConnectionCache中的findGroupAndGetConnection方法上 根据IBM APAR: 延迟发生在调用客户端JAX-RPC处理程序(如果存在)之后,以及将实际SOAP消息发送给提供者之前。 因为延迟发生在IBMWeb服务引擎中,所以这个问题 可能很难发现。 A com.ibm.ws.webservices.e

我有一个运行在WebSphereApplicationServer6.1.0.43上的应用程序。我在尝试调用远程服务时遇到了减速问题

减速发生在类outboundConnectionCache中的findGroupAndGetConnection方法上

根据IBM APAR:

延迟发生在调用客户端JAX-RPC处理程序(如果存在)之后,以及将实际SOAP消息发送给提供者之前。 因为延迟发生在IBMWeb服务引擎中,所以这个问题 可能很难发现。 A com.ibm.ws.webservices.engine.transport.*=所有跟踪都将显示与以下内容类似的条目,这些条目重复:

[8/19/09 18:08:29:658 GMT]00000047外部边界1输入: WS3595i:当前池大小:25。正在使用的连接大小:0。 配置的池大小:25

此外,相同的跟踪规范将显示执行过程中的长延迟 .findGroupAndGetConnection()方法:

[8/19/09 18:08:03:428格林威治标准时间]00000047境外> OutboundConnectionCache.findGroupAndGetConnection() 等待线程数阈值为5个条目

[8/19/09 18:08:38:358 GMT]00000047外域< OutboundConnectionCache.findGroupAndGetConnection()退出

他们建议:

  • 减少“com.ibm.websphere.webservices.http.connectionPoolCleanUpTime”从 默认值为180到120秒
  • 从中增加max connections'com.ibm.websphere.webservices.http.maxConnection'属性 默认值为25比50。这也需要增加网站的数量 容器线程池大小为100
在更改默认属性之前,我决定监视Web容器线程的使用情况,并注意到从未达到最大线程池大小(50),但经常达到最小线程池大小(10),从而强制销毁和重新创建连接


超过最小池大小会导致此减速吗?我应该增加最小池大小吗?我的问题不是http出站连接池的问题吗?

您能试试JVM参数-Xthr:noAdaptSpin吗?我曾在一份类似的报告中将其视为一个culrprit。我没有访问JVM的权限。我正在使用一个监控工具来访问这些数据,但我会看一看,谢谢。