Very scalable ;-)
ok seriously now, the theoretical limit of the JBoss container can be measured by anyone. If you run optimized stacks and no load on DB then THE THROUGHPUT OF THE JBOSS CONTAINER IS ONE INVOCATION PER 0.05ms .
Which translates roughly to 20,000 invocations per second. Of course in real life you will store stuff in database and invoke stuff through the network. Depending on how much load you put there you will see anywhere from 100 invocations to 1500 invocations per second. This of course is a measure of the speed of serialization and the container doesn't really affect that number. IF YOU HAVE NUMBERS BELOW THAT, it might be absolutely normal, meaning you are running large queries on your databases, or you are passing large set of data back and forth. In some occasions not running optimized stacks between the web layer and ejb layer means you are serializing and therefore paying a hefty price, non-serializing usually means a packaging problem (classes missing, or duplicate classes) and can be hard to diagnose. JBoss 3.0 is more explicit when packaging is off as well as more evolved as far as running optimized stacks go. If you are really interested in why this happens, it is due to how classloader works, come to one of the JBoss Group training to find out in gorry details what is going on.