在Websphere Application Server上进行负载测试导致“连接被拒绝”

时间:2013-03-27 16:30:13

标签: java websphere

我在websphere 8上运行了两个webapps,第一个是接受传入请求,从第二个webapp检索数据并将响应发送到客户端。通过HTTP(Axis2)使用W3C SOAP WebServices实现通信。

使用loadUI进行负载测试时,我发现了以下行为: 顺序请求允许高负载,而并行请求几乎立即失败,第二个Web应用程序发出“连接被拒绝”消息。

Tomcat上的相同设置允许在两种情况下都有高负载。

最大打开连接数配置为500,默认线程池最多包含20个线程,默认Web容器有10个线程。

有谁知道可以帮助我的任何websphere设置?

2 个答案:

答案 0 :(得分:4)

我找到了解决问题的方法,我希望与您分享。

每个请求都会导致Websphere Application服务器中使用两个线程,第一个Web应用程序中的一个线程和第二个Web应用程序中的另一个线程。

当我尝试并行执行5个客户端(WAS中的10个线程)的负载测试时,它仍然有效,但是并行调用10个客户端(WAS中的20个线程),它不再起作用了。所以我检查了websphere设置,发现我在websphere中配置了最多10个线程。因此,当10个客户端使用所有线程时,他们会永远等待另一个线程联系第二个Web应用程序。

所以我对每个人的建议:
执行负载测试时,请注意可通过以下路径访问的Websphere线程设置: 服务器 - >应用程序服务器 - > servername - >线程池 - > Web容器。

答案 1 :(得分:0)

这种情况下的真正问题不一定与线程池有关。在这些情况下的问题是WS(代码)不是使用线程安全功能开发的。

线程安全是问题所在。