0

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

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

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

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

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

4

2 回答 2

4

我找到了我想与您分享的问题的解决方案。

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

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

所以我给大家的建议是:
当你执行负载测试时,请注意可以通过以下路径访问的 Websphere 线程设置:服务器 -> 应用程序服务器 -> 服务器名称 -> 线程池 -> Web 容器。

于 2013-04-11T16:22:49.750 回答
0

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

线程安全是问题所在。

于 2014-02-11T16:22:24.793 回答