Java Websphere Application Server上的负载测试结果为;“拒绝连接”;

Java Websphere Application Server上的负载测试结果为;“拒绝连接”;,java,websphere,Java,Websphere,我有两个webapp在WebSphere8上运行,第一个是接受传入的请求,从第二个webapp检索数据并将响应发送到客户端。通过HTTP(Axis2)与W3C SOAP Web服务实现通信 使用loadUI进行负载测试时,我发现以下行为: 顺序请求允许高负载,而并行请求几乎立即失败,第二个web应用程序发出“连接被拒绝”消息 Tomcat上的相同设置允许两种情况下都有高负载 最大打开连接数配置为500,默认线程池最多有20个线程,默认web容器最多有10个线程 有人知道有什么websphere设

我有两个webapp在WebSphere8上运行,第一个是接受传入的请求,从第二个webapp检索数据并将响应发送到客户端。通过HTTP(Axis2)与W3C SOAP Web服务实现通信

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

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

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


有人知道有什么websphere设置可以帮助我吗?

我找到了解决问题的方法,我想与大家分享

每个请求都会导致WebSphereApplicationServer中使用两个线程,第一个web应用程序中使用一个线程,第二个web应用程序中使用另一个线程

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

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

我找到了解决问题的方法,我想与大家分享

每个请求都会导致WebSphereApplicationServer中使用两个线程,第一个web应用程序中使用一个线程,第二个web应用程序中使用另一个线程

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

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

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


线程安全就是问题所在。

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


线程安全是个问题。

这听起来像是某种编码模式(在Axis中),不能保证并行调度,但在Tomcat下恰好如此。可能是Tomcat中与WebSphere不同的默认线程模型。请注意,只是一个猜测。我假定您是在web应用程序中部署Axis2,而不是使用WebSphere内置的SOAP支持。您尝试过WebSphere论坛吗?您可以发布连接被拒绝错误的错误堆栈跟踪吗?另外,当您提到使用SOAP实现通信时,您是指第一个和第二个应用程序之间的通信吗?如果没有。您如何从第一个应用程序调用第二个应用程序?@dbreaux:您的猜测是对的。我们在webapp中部署axis2。关于线程模型的有趣想法。。让我们看看这个想法是否能指引我们前进。我已经搜索了websphere论坛,但在搜索失败后,我开始在这里问这个问题。我发现我得到了这样一个stacktrace,它将在星期二我回到办公室时出现。到第一个的通信以及从第二个到第一个的通信都是通过SOAP进行的。我们并行调用第一个,在大约9次调用后,连接被拒绝。如果您只搜索了论坛,但没有在那里发布您的具体问题,您仍然可以尝试。我预计会有更多的WebSphere专家关注这一点。这听起来像是某种编码模式(在Axis中),不保证并行调度,但在Tomcat下恰好如此。可能是Tomcat中与WebSphere不同的默认线程模型。请注意,只是一个猜测。我假定您是在web应用程序中部署Axis2,而不是使用WebSphere内置的SOAP支持。您尝试过WebSphere论坛吗?您可以发布连接被拒绝错误的错误堆栈跟踪吗?另外,当您提到使用SOAP实现通信时,您是指第一个和第二个应用程序之间的通信吗?如果没有。您如何从第一个应用程序调用第二个应用程序?@dbreaux:您的猜测是对的。我们在webapp中部署axis2。关于线程模型的有趣想法。。让我们看看这个想法是否能指引我们前进。我已经搜索了websphere论坛,但在搜索失败后,我开始在这里问这个问题。我发现我得到了这样一个stacktrace,它将在星期二我回到办公室时出现。到第一个的通信以及从第二个到第一个的通信都是通过SOAP进行的。我们并行调用第一个,在大约9次调用后,连接被拒绝。如果您只搜索了论坛,但没有在那里发布您的具体问题,您仍然可以尝试。我预计会有更多的WebSphere专家跟随这里。这不是一个简单而可靠的解决方案。在开始负载测试之前,有很多事情要做。这不是一个简单的解决方案。有很多事情要做