Tuesday Jan 31, 2012

Another look at GlassFish clustering and performance

With this new "Glassfish – Vertical clustering with multiple domains" blog by Alexandru, there seems to be no shortage of GlassFish configuration posts.

Surely, that must say something about the popularity of GlassFish for highly-available apps.


While it uses mod_jk like most others, this one is multi-domain, uses JMS topics and spends some time looking at different JVM settings and their impact on response time and GC activity.

Monday Jul 18, 2011

More Production GlassFish tuning

Probably as a sign that many GlassFish-powered applications are moving into production, a number of recent community posts discuss GlassFish 3.x in production and related performance tips. All are great additions to the standard Performance Tuning Guide.


This first article discusses using the CLI (asadmin) for those that were used to the IDE or the Web Console as well as some JVM and GlassFish tuning. This other piece by Vegard goes a little bit further on the tuning side of things (acceptor threads, caching, ...) and this earlier piece by Jean-François Arcand is pretty much still valid.

On a slightly related note, Henri Gomez has a quick comparison of various container startup times. You decide if this is an apple-to-apple comparison ;)

Thursday Mar 03, 2011

GlassFish 3.1 SOTD #4 - Performance Tuner

In this fourth post of the SOTD (Screencast Of The Day) series following the release of GlassFish 3.1, here is Jennifer's Performance Tuner.

This is a feature that is part of Oracle GlassFish Server Control which comes bundled with Oracle GlassFish Server and available for free trial.

This 6-minute demo walks you through a tuning scenario answering questions about the underlying hardware, high-level JVM options, etc. and present you with a list of suggested optimizations. You can also apply changes directly to the configuration of the server.

This screencast is hosted on the GlassFish YouTube Channel.

Monday Dec 03, 2007

Scott's GlassFish Tuning Primer

audio mixing table

Scott Oaks is the person among others in our great Java performance team behind the excellent and recent SPECjAppServer performance results for GlassFish ([1], [2]). Scott has put out a GlassFish Tuning Primer one-pager.

It covers both JVM (throughput collector is suggested as the default choice for large heaps) and application server tuning (acceptor and request-processing threads, JDBC driver statement caching, etc...) and should serve as a good appetizer for our "hundreds of pages of tuning guidelines in our docset".

Tuesday Aug 21, 2007

GlassFish v2, 64-bit and default VM

Duke Performance

Here are a couple of things that change with GlassFish v2 which should trigger better out of the box performance:

•  GlassFish v2 supports 64-bit and thus can have a VM with terabytes of heap (see Performance Tuning Guide).

•  The GlassFish v2 configuration no longer has an explicit -client switch for better startup time in development mode. This means that Ergonomics will kick in to determine which is best, client or server VM. Read more here.

•  GlassFish v2 also supports Java 6. Performance benefits are almost immediate and free (no code change, no recompile or redeploy). The use of JSR 199 by the JSP compiler is one of the benefits. The SPECjAppServer number is another one.

Wednesday Jun 20, 2007

Tuning the Bear: Multi Selector Threads in Grizzly 1.5

Picture of a Grizzly Bear

Proper use of an NIO framework like Grizzly allows you to handle lots of I/O with a minimum number of threads. Still, increasing the allocation of threads for certain tasks can be an important performance-tuning tool.

Fortunately, Grizzly makes it easy to customize these settings. In his latest blog entry, Oleksiy shows an example of increasing your Grizzly instance's pool of threads for OP_ACCEPT and OP_READ events.