You are probably doing something wrong.
Why don't you explain your use/test case here?
We have executed benchmarks with thousands of simultaneous threads using a Stateful Session Bean to go to a database, and return information in less then 0.5 seconds (in regular size servers, dual processed)
My guess is you have to check your dns setup. Typically, even when addressing the server by ip address you have to have a name for the server as well, otherwise reverse dns loopups can kill performance.
Second that - this day there was a customer having serious performance problem from one client. Tested with entering server info the the clients host file and what before took 28 secs is now <1 secs :)
So do check your DNS!
Thanks for all your help. Looks like it's just the start up that's slow, once the client has connected the execution goes fine.