In some spare time, just wrote a simple test rig to check the performance of calls 
using the optimized and Trove modified JBoss versus standard JBoss. The internal VM 
calls were invoked by 3 parallel threads that had a stateless session bean look itself 
up and make a single method call (that just returned an incremented counter) - so 
minimal business logic in the EJB. One thread collected information on JNDI lookups, 
one performed a call through the local interface (the JNDI lookup is excluded from the 
measurement, so only create, and call is performed) and the other the same call except 
using the remote interface (but in VM). Each performed a serial set of 10,000 
operations and measured the elapsed time. 10 loops of each were run and the average 
taken. We set it up this way so that JBoss performed under some sort of load that 
required multiple operations in parallel. For the remote calls tests, we had 2 threads 
from a remote client, 1 performing remote JNDI lookups and the other performing a 
remote call on the same bean but not at the same time as the in-VM tests. Again 10,000 
serial operations and 10 loops. Reported values are the average per operation time.

The results on Win2K, PIII 1.2 GHz with Sun JDK 1.4.1_01

Optimized JBoss 3.2.0 with some Trove and collection modifications in the server branch

                IN VM                                     OUT OF VM
Lookup        Local call    Remote call         Lookup        Remote Call
26 usec       88 usec       95 usec             4.57 msec     8.14 msec

Reported memory use by Windows Task Manager: 52,712K

Standard JBoss

                IN VM                                     OUT OF VM
Lookup        Local call    Remote call         Lookup        Remote Call
38 usec       107 usec      111 usec            4.60 msec     8.39 msec

Reported memory use by Windows Task Manager: 55,960K

*******************

The results on Linux RedHat 7.2, PII 500 MHz with IBM SDK 1.4.0

Optimized JBoss 3.2.0 with some Trove and collection modifications in the server branch

                IN VM                                     OUT OF VM
Lookup        Local call    Remote call         Lookup        Remote Call
85 usec       308 usec      370 usec            21.36 msec    23.94 msec

Reported memory use: VSZ = 177864K, RSS = 128288K

Standard JBoss

                IN VM                                     OUT OF VM
Lookup        Local call    Remote call         Lookup        Remote Call
129 usec      334 usec      387 usec            21.50 msec    24.29 msec

Reported memory use: VSZ = 198816K, RSS = 145768K

If nothing else, this should clearly show why embedded Tomcat/Jetty is better than an 
externalised Tomcat/Jetty configuration.

I haven't had a chance to commit the report to a proper format but it starts to 
collate a profile on the progression of performance so I thought I'd share some early 
data. We'll probably get something on progress on our website by next week, depending 
on time.

JonB
Amity Solutions Pty Ltd
~~~~~~~~~~~
Je voudrais voir des assassins souriant
Du bourreau qui coupe un cou d'innocent
Avec son grand sabre courbé d'Orient.
Je voudrais voir des pauvres et des reines;
Je voudrais voir des roses et du sang;
Je voudrais voir mourir d'amour ou bien de haine.
    Excerpt from Asie, Shéhérazade by Tristan Klingsor

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to