Skip to main content

Glassfish 3.1.1 Asynchronous threads taking tooo much time to spawn

2 replies [Last post]
ashishkp
Offline
Joined: 2011-05-28

Hi,

We are using Glassfish 3.1.1 CA in our production environment. It has following configuration.

Total servers = 3 (Solaris x86)
RAM each server = 12 GB
Virtual CPU each server = 6
Glassfish Instance on each server = 2 (2 instance in one cluster same machine, no cross server cluster).
Each Server....
MAX HTTP thread pool = 500
MAX Threadpool -1 = 200
MAX EJB Container POOL = 150

Application details: Application is EJB 3.1 using Asynchronous threads for parallel processing. One main thread invoked through Web service (HTTP) and it register the request (DB call) and then spawn 2 parallel asynchronous threads for parallel processing. This is mandatory for us as we have to respond to web service request quickly for reducing response time and parallel processing is bit complex and takes bit time.

In production with peak load (around 40-70 concurrent request per second), the main request gets served, however the 2 parallel asynchronous threads takes 20 mins, to 1 hour to start processing.

Kindly suggest.

Thanks in advance.
Ashish

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
mvatkina
Offline
Joined: 2005-04-04

In 3.1.2 the EJB async handling was fixed to use the EJB thread pool - see http://java.net/jira/browse/GLASSFISH-16735. Unfortunately in 3.1.1 (and prior) it used hard-coded setup.

ashishkp
Offline
Joined: 2011-05-28

Thanks very much for prompt response.

Yes, we also wanted to migrate to Glassfish 3.1.2.x, however seems because of below two open JIRA we may not be able to migrate, as we use Apache - Mod JK -> GF 3.x in our prod environment.

http://java.net/jira/browse/GRIZZLY-1276,
http://java.net/jira/browse/GRIZZLY-1340

Thanks again,
Ashish