We have web application running fine in production with 5 User in Tomcat 7, Now the user have increased from 5 to 200 users.
We need your idea/suggestions to improve the performance at tomcat 7 side however the application shouldn't crash if at a time 150 users login in to Application. What are the parameters we need to consider in Tomcat 7
when 150 user hits url at that moment.
There is absolutely no way to tell without more information. Tomcat doesn't have a "user limit", although it has various parameters that can be adjusted depending on the specific demands of the webapps that it is running.
We need to know what the crash information is.
Science is the process of replacing what we "know" with what is TRUE. Politics, alas, often prefers to be the opposite.
In my opinion, the best way to start analyzing this is to use a load testing tool like JMeter to load your server with (number of expected users + 20%) requests, and then collect metrics on tomcat and the server machine using performance monitoring system like collectd or munin.
Ensure that you simulate entire user flows. It's not enough to simulate 150 login attempts and then say it's fine, because the actual bottleneck is often not the authentication part but your application specific logic or database queries that run when your users are using your app.
Collect metrics, find out what bottlenecks if any - CPU, machine RAM, tomcat heap size, disk IO, database query times - are encountered, and then you can take action. Sometimes, the solution may indeed be tomcat tuning, but it's also possible the real bottlenecks are elsewhere. Database misuse is often a culprit.
No point doing general optimizations, because it's not reassuring either to you or to your management; better to analyze your system in detail, collect data, and then do focused optimization.
You showed up just in time for the waffles! And this tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop