Orion Performance Notes
Written by Hani Suleiman
This document contains performance metrics, mainly intended to give a starting point for tuning a JVM running Orion. As every application is a little different, realise that your mileage may vary.
Again, this document is only intended as a starting point.
Metrics were gathered from a machine running JDK1.5.0_02, on Windows XP. The jconsole tool was used to collect the data from another server, running JDK1.5.0 on Solaris 9, on the same subnet. jconsole is a very useful tool, but like all such tools, impacts the JVM that metrics are gathered from.
Orion 2.0.6 (the latest stable version) was used; a new installation from
http://orionserver.com/ was made, and then java -jar autoupdate.jar was used to
update to the most recent version of Orion.
The first run was executed with the following command line:
java -Dcom.sun.management.jmxremote.authenticate=false \-Dcom.sun.management.jmxremote.ssl=false \-Dcom.sun.management.jmxremote.port=9090 \-Dcom.sun.management.jmxremote -jar orion.jar
Orion, while passive, loaded 1602 classes, and was able to unload 11 of them.
Heap usage was a meagre 1500K. The tenured space was roughly 1100K, with
collections of eden space occurring roughly every two and a half minutes.
Hitting http://localhost:80/ on the Windows server immediately loaded 17 classes and forced a GC, with heap space growing to 1.2MB.
Connecting to the JSP examples again didn't change the profile; it forced another collection of Eden space.
I then played the number guessing game (seven tries; the number was 39. Argh!) Memory usage climbed to around 7.9M. Performing a GC moved this number back to 1.1M, which indicates that most of it was involved in the compilation of the JSP page. I played again, after the GC. This time, things went much better: I had four tries (the number was 43) and memory usage was much, much lower, again centering in the 1.1M to 1.2M range, although it still spiked around 1.7M before the eden GC ran.
Using this as a baseline, I'd like to capture other tuning notes on Orion, such as the impact of various memory settings, under load. The most obvious task is to find a baseline application that exercises most of the J2EE specification, so we can test the impact on various server configurations.
Does anyone have any suggestions? It'd be great to have a resource where
tuning notes could be kept up to date. Email me at joeo@enigmastation.com if
you're interested in learning more or helping.
Copyright © 2007 IronFlare AB