forgot to say we running with Jetty 3.1.3
When you say 2500 simultaneous users, I assume you mean 2500 simultaneous HTTP sessions ? Or what does a user's session consist of in your application. What kind of ejbs are you using.
Have you adapted the parameters for java in the start-up script ? If you expect to use a lot of RAM, which is surely the case in your test, you probably should adapt the parameters -mx and -ms passed on to Java (I'm no expert on these settings, check the Java docs for more info)
Thats correct, 2500 HTTP sessions.
We are using Session beans and Entity BMP beans.
We have set up the -ms and -mx parameters, the RAM consumption is about 900M while the -mx is set to
Hmm in that case I don't know.
Perhaps you might first try to trace, using logging messages, how far you are coming. But from what you saying, the server does not respond at all after there are 2500 sessions. In that case, the servlet-engine part would seem to be the culprit.
You might try contacting the Jetty team, they seem to be pretty helpful. Or, of course, try it out with JBoss/Tomcat, I doubt that will give you better numbers but it would make an interesting comparison.
In any case let us know what you come up with. In my current environment, there will never be that many sessions, but it's interesting to know about.
What JVM and what OS are you using? Different JVMs have very different performance and scalability characteristics.
Do a google search on "volano report" for an independent benchmark (not EJB based). JRockit and TowerJ (I think) offer the best performance and scalability by implementing thread support differently.
If you do change your JVM I'd be interested in hearing about your results.