Well, let me ask you this. Is open-source out of the question? Jetty/JBoss is a better suite. Jetty is the servlet/jsp/html container,
JBoss being the
ejb container. They can run in the same JVM or separately on the same or different machines. Jetty is VERY fast, about as fast as Apache, on returning html pages and content, and just as fast as
Tomcat is on
JSP pages (they use the same jsp
servlet). JBoss is pretty darn powerful, excellent architecture and fairly scalable as well.
Handling 500 requests or 500 users? A user hitting a page with multiple images on it can generate multiple hits (requests) to the server.
I read about 4 years ago that a Pentum 133 could handle 1000's of requests at one time if the web app was written properly. If you average each user to page request resulting in 5 hits per page, you are looking at 200 users at once on a machine that is long gone. A PIII1Ghz machine could probably handle 1000 or more users all simultaneously hitting the server with very little effort, but only good performance
testing will tell you for sure. The application, how it is written, and of course the server, all play a role in how fast pages get returned and how many simultaneous users can access the same page (or multiple pages) at the same time.
JMeter is a pretty good free test suite. I think it is part of apache or jakarta, check it out, and use it to simulate 100's of users hitting your site. See if it can handle the load. You can use the basic Win2K Performance program to see the load on memory and cpu. A J2EE profiler would be better though, although that is more for checking your code on the server.