Tomcat 6 stress testing

Hello all. I am going to be running some tests on a standalone Tomcat 6 server which runs a couple of web apps i have written. I just wanted to ask for any advice on how to load/stress test, weather its and good software used, what to look out for or what the typical bottlenecks can be.

I understand every problem is different and unique but as this is my first time doing this i was looking for any helpful tips!

Thanks for any help given! ???

about the soft, I used two software in my old company : Mercury LoadRunner & IBM Rational Performance, the first one is excellent but quiete expensive (not sure if there is free trial), the second have free trial but is really not running very well and have a lot of incompatibility including IE7 (at the time I have tested it (2008) and also rejected it in profit of loadrunner due to too much instability)

about the points you have to look : Memory / CPU / DataBases / Network / HardDrvie (especially logs)

the base is to create a scenario using a software of your choice of a tipycal user and play it severals time and if possible a cupple at the same time.

then you have to monitor DataBase / Memory / Network / etc to see if all is going well when severals user are running at the same time aswell as after severals weeks / monthes / years have passed.

for example you can find that your website will have a problem after 500 registration due to a too low data space for your DB, or you will find that when the DB size increase some new indexes are requiered to make search faster or network is too low for n users etc…

some things to take care of :

  • database size growing with time (you should archive obsolete data when possible to reduce size and increase performances)
  • for tomcat aswell as any other java based App server (as websphere…) : problems of heap & permgen memory can appears : heapsize when severals user at the same time use you app and permgen size problem when using too many libraries
  • networks bandwiths
  • logs size (empty or archive them periodically for example)
  • CPU is rarelly a bottleneck in web app but… keep an eye on it if you perform complexe computation…