My team and I have built a web application (struts2+hibernate) with:
1. Tomcat 2. Apache
I have a server with 16Gb RAM and currently we have 40 users where at most 10 of them are working concurrently.
So far this configuration was working very good for the past 3 year.
Now...we were requested to upgrade the system so ~200 users can work concurrently. Should I change anything in the configuration I presented above? My concern is if Tomcat/Apache/MySql are still a good components to be used if more users are going to use the application concurrently? (disk space is not an issue at the moment --the db is ~ 1gb and may grow to 20 gb in 3 years).
Thanks for the quick reply. I understand the issue with 'think time' and I would definitely preform this test. What other companies are using when they need to handle 200+ users? For example, would THIS site use the same components? (what are the alternatives). Thanks again
This site doesn't have intensive backend processes. If you have significantly more processing/back end processes, it can't be compared adequately.
Joined: Jun 16, 2009
so for 200 users, assuming they do INSERT/UPDATE and SELECT - but nothing complicated (think of a simple form ~ 6 fields) would tomcat and apache be a good choice? and if I wished to take it to another level - what would that be?
You can't generalize like that. 200 users can be a lot, or they can be hardly worth mentioning. Your description seems more like it would fall in the latter category, assuming that nothing else is happening than what you describe.
Tomcat and Apache httpd (or even Tomcat without Apache httpd) are fine for much higher loads; I don't think there's a point where I'd say you need to use something else. But there will be a point where you need to use more than a single server. Whether or not you need to do that for 200 users we can't say from the information provided so far.