We are a happy group of developers in venezuela who developed a tomcat5.5+java+spring+hibernate+mysql+jstl+(flex) application. Now we installed them to customers and make them happy, each of them in their own domain. We use Linode as hosting provider, and cpanel's WHM software to help us create accounts rapidly, and mantain the mail server's and stuff. And give users acces to their mail accounts.
So, we were all getting along until my tomcat started to stop working from time to time, gave memory error, restarted the tomcat and all was fine again. Got more clients, bought more hardware until hardware did not make any difference, learned about heap size, now i give more heap size to tomcat, now the whole server falls down from time to time. Connected Jconsole, i can se peaks in memory each 10 minutes, some times less frequency. Te peak is higher each iteration until it breaks. Need tips on how to scale this kind of application, so i ask for the big guys (you guys) for any tips, directions, anything, for scaling my architecture. Thank you!