At Monday's AJUG-Adelaide meeting we were fortunate to have Sun's
Tom Daly give us
a presentation on the ECPerf & SPECJAppServer benchmarks.
It was a very good presentation – reasonably technical, but lots of
interesting anecdotes, too. I'm sure if I was using Oracle on Solaris/Linux
I'd have got even more out of it.
Some of the things I took out of it were:
SPECJAppServer2003 (which may be called something different) will
have a significant webservice component.
JDK1.4.2 is much, much faster on Linux & Solaris than JDK1.4.
The ability to scale J2EE by running it on more powerful hardware is
important to Sun. To paraphrase Tom: The massive transactional benchmark
numbers J2EE can get by running on large servers are important because J2EE
CAN run on those servers (unlike .NET)
CMP in EJB app servers is good because server vendors have gone to
extreme lengths to optimise its performance.
Intrigued by the potential performance benefits of JDK1.4.2, I spent some
time today doing some benchmarking. In my simple client app->JBoss 3.2 test
I'm finding roughly 5-10% increase in performance. This is under windows,
with both the client & JBoss on the same machine, in separate VMs (512 M
memory, but lots of stuff running).
I also had a better look at jvmstat,
which is very nice. It does non-intrusive GC monitoring of your Java apps. You don't
need to enable any java debugging options for it to work, so it doesn't slow
down your app at all while you monitor it.