I would be willing to bet a fair amount of money that the FreeRoller performance problem is not due to code in Hibernate, or Tomcat (yeah I know it isn’t fast BUT), or MySQL, or the JVM, or the OS, or the hardware.
Chances are that with a good performance analysis you will see something that will make you say “a ha!”. As we layer on top of more and more tools, we get this problem maybe more than ever. When we ported TheServerSide to run on a cluster it didn’t work AT ALL as is. It was dog slow. Through a few code changes, more deployment descriptor changes, and adding Tangosol Coherence, we were able to fix the problem. I can’t tell you how often, when consulting, the problem has been something the developer didn’t even think it was. With these “smart” app servers, a simple deployment descriptor setting can change a LOT about the way an app works. So, time to get a nice perf tool (I guess I should say use Precise tools :) run the beast, and see what is happening :)
Isn’t debugging fun?