Hi @ all,
We're using above environment on two servers with different applications deployed (one EJB3, other EJB3/Seam2). Communication takes place between both servers via webservice calls and we noticed peaks of response times while testing our server functions and the calls between them:
One interessting peak occours regulary every 12 minutes:
- Avarege time: 2 seconds (a PDF along with some data is being transferred)
- Peak time: 20s (right after server start) up to 2 minutes (after two hours of load) and thus breaking our webservice timeout!
I load tested with SoapUI to on a simple isAlive webmethod on both servers and it gives me the same behavoir, so its repeatable at our environment (tested 60 seconds with 1 thread):
Avarage time: 12 ms
Peak time: 300 ms
Avarage time: 7 ms
Peak time: 150 ms
So the implementation does not really matter IMHO. For our SLAs we need to deliver webservice response within reasonable response times, for example isAlive must complete in less than 100ms in every single threaded case, so we have some puffer left for concurrent access with an average response time of around 10-15ms.
Does anybody have experiences with such a situation, any hints where to look for answers/information? I tried googling and searching this forums but did not find an answer.
Thank you for your help,
Sounds like you are running into a major garbage collection performance issue. You can verify this by setting the -verbose:gc JVM command line option and checking to see if the gc happens at the same time you are seeing the response time spike.