Mgmr
Mgmr

Reputation: 78

Load test on Websphere Application Server results in "connection refused"

I have two webapps running on websphere 8, the first is accepting incoming requests, retrieving data from the second webapp and sending the response to the client. The communication is realized with W3C SOAP WebServices via HTTP (Axis2).

While load testing with loadUI, I recognized the following behavior: Sequential requests allow a high load while parallel requests fail almost immediately with a "connection refused" message by the second web application.

The same setup on Tomcat allows a high load in both cases.

The number of maximum open connections is configured to 500, the default thread pool has maximum 20 threads, the default web container has 10 threads.

Does anyone know of any websphere settings that could help me?

Upvotes: 0

Views: 3098

Answers (2)

Pablito Roma
Pablito Roma

Reputation: 1

The real problem underneath this situation is NOT necessarily related to the thread pool. the problem in those cases is that the WS (code) is not developed with Thread safe feature.

Thread safe is the problem.

Upvotes: 0

Mgmr
Mgmr

Reputation: 78

I have found the solution to my problem which I wanted to share with you.

Every request results in two threads being used in the Websphere Application server, one thread in the first web application and another one in the second.

When I was trying to perform a load test with 5 clients (10 threads in WAS) in parallel, it still worked, but calling it with 10 clients (20 threads in WAS) in parallel, it did not work anymore. So I checked the websphere settings and found out that I have a maximum of 10 threads configured in websphere. So when the 10 clients were using all threads, they waited forever to get another thread to contact the second webapplication.

So my advice for everyone out there:
When you perform load tests, have an eye on the Websphere thread settings which can be accessed via the following path: Servers -> Application Servers -> servername -> Thread Pools -> Web Container.

Upvotes: 4

Related Questions