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
smime.p7s
Description: S/MIME cryptographic signature