I will have to disagree with the first point since hibernate delivers a fantabulastic performance even under load. I have also never noticed any significant performance difference with JRockit. In theory it handles memory issues a lot better, but my experiences were not very impressing. One thing that is worth looking into is to check how many http threads the web container has. You may have to increase the number so that you can accept more concurrent users; however, this should be used after you are sure your hardware capacity is not maxed out. In addition having 5 connection pools is rather strange unless you have a good reason for it. You may also want to check if the connection pools are maxed out. A better description of how dead WLS is will also be a help in finding the problem.