Quoting Thomas Davis from JavaWorld.com (excerpt from : http://www.javaworld.com/javaworld/jw-11-1999/jw-11-ejb.html?page=1) :
In the EJB implementations with which I have worked, all of the client-to-EJB communication within a single virtual machine instance takes place through a single socket connection. This is a bottleneck. When one client is talking to a bean, other clients (within the same virtual machine, sharing the single socket) are waiting for their turn. Waiting is bad. You want to avoid remote calls whenever possible.
Our application has the similar thing going on. A single EJB given by our vendor (as a WebService) and many of our custom webservices using it. I wonder if there's any way out other than asking the vendor to provide local methods to that EJB.
Cheers,
Rohit M