Friday Mar 04, 2011

GlassFish 3.1 What's New - Performance!

People usually expect performance improvements from "dot 1" releases and that's a fair aspiration for GlassFish 3.1. Performance can obviously mean different things to different people but we believe there's good news for most of you with this release of GlassFish 3.1.

Application server veteran and benchmark guru Scott Oaks discusses the performance enhancements in this release from both the developer and high-availability (HA) perspectives which show each improvements in the double digits over the 3.0 release.

Original picture from

Scott's blog post covers improved startup, deploy and redeploy times and the benefits of the modular architecture introduced with GlassFish V3 because "in the end, pure startup isn't what is important -- what's important is how quickly you can get all of your work done".

Because this is not a new area for GlassFish, the HA part also got its share of performance improvements building on the work delivered in previous incarnations and derivatives of the product. In particular both the GlassFish underlying Grizzly-based nio framework and the in-memory replication have seen session serialization and general implementation improvements enhancing HA's both full session and modified-attribute replication scopes.

When it comes to performance, the Performance Tuning Guide is probably a good place to start.

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.

Saturday Jan 29, 2011

Hardware & Software, engineered together : Take #1

In this "Exalogic Software Optimisation" blog entry, Paul Done discusses how the JRockit JVM, the latest WebLogic Application Server and Coherence (the secret sauce) all make the Exalogic machine run as fast as it does with the same versions of the products you would use on any other hardware. All three products have been engineered to shine together and on this particular iron.

Exalogic stack

The difference with other similar software stacks is that these three products really shine when running on the Exalogic machine by using SDP to take full advantage of the internal InfiniBand network. It's also worth mentioning Active Gridlink which was introduced as recently as WebLogic 10.3.4 to offer optimized connections to an Database Oracle RAC cluster (which could be running on an Exadata).

This being Exalogic v1, there is yet more to come to reinforce the technical reality of Oracle's "Hardware and Software, Engineered to Work Together".

Wednesday Mar 24, 2010

Initial GlassFish v3 Performance


GlassFish v2 has excellence performance and GF v3 has a lot of new code, so it would not be surprising if there was some initial performance degradation, to be "fixed" in a later release. Turns out that this is not the case: Scott (Mr. Performance) reports that the performance of v3 is actually higher, and scales better, than v2. One of the benefits of cleaner code!

Check out Scott's Initial Report on GlassFish v3 Performance

Saturday Dec 12, 2009

GlassFish v3 Resources and Links - Part 1

This is one of a series of resources and links related to the new GlassFish v3 release. Each entry starts with a section with key links; the resources are then grouped into categories.


Key links
  • Sun Press Releases: Java EE 6 and GlassFish v3
  • JavaEE 6 Web Hub, and JavaEE 6 Downloads
  • Sun GlassFish v3 Product Page

  • See you at Virtual Conference on Dec 15th, and in one of our Community Parties.

Real-Time News
  • Follow GlassFish at Twitter via @glassfish and #glassfish.


Overviews, Appreciation, Analysis

Non-English Posts

Technical Posts (Formatting needs some improvements)

JeanFrancois Putting GlassFish v3 in Production: Essential Surviving Guide
Scott First Look at v3 Performance
Judy GlassFish v3 FishCAT Survey Results
Judy Meet the FishCAT Team
Judy FishCAT Testing for v3.
Prashanth Making your Application monitorable in GlassFish V3
Prashanth Adhoc Monitoring with Scripting-Client in GlassFish v3
Prashanth Advanced Monitoring in GlassFish v3
Prashanth Top Ten features of Monitoring
Byron Mort Learns How To Use Monitoring in a WebApp
Sreeni Monitoring in GlassFih v3 - It's Different and Cool!
Sreeni How to use GlassFish v3 DTrace probes on Solaris
Jen Easy 1-2-3 Monitoring in v3
Jen v3 Monitoring with Admin Console
Lloyd 'mx' - JMX command line especially for GlassFish V3
Lloyd Navigating the GlassFish V3 MBean hierarchy using 'mx' command line
Lloyd GlassFish V3 management and monitoring MBeans, 'mx'
John Enterprise Manager DTrace Monitoring 3.0 Beta (tweet, download)
Anissa Ten New Features in Admin Console
Anissa trivia quizz
Anissa Launching Admin Console for GlassFish v3 RI
Anissa Launching Admin Console for GlassFish v3 RI
Ken P The AJAX Experiment(s) with improving the Admin Console.
Rajeshwar GF REST Interface for Management
Ken S Final EJB 3.1 Specification and GlassFish v3 Now Available
Rajiv Servlet 3.0 specification and GlassFish v3 now available
Ron Java EE 6 and Servlet 3.0 Converge on Container Security Functionality
Binod V3, Java EE 6 and SIP Servlets
SOAP and REST Web Services
Paul GlassFish v3 is a Go - includes
Fabian Runtime Configuration Management
Kumar Summary of Proprietary Features in SAAJ RI 1.3.4
Jagadish Java EE Connector Architecture 1.6 Reference Implementation
Sivakumar Java EE Connector Architecture 1.6 Specification approved!
Alexis Interview of Roberto Chinnici (podcast)
Alexis Interview of Ludo Champenois
Alexis JSF 2.0 discussion with Ed Burns and Roger Kitain (podcast)
Dynamic Languages
Vivek New GF Gem Features (tweet, History.txt@RubyForge).
Eileen JRuby Performance on Glassfish V3 -- Part 1
Sreeni Java EE 6 Samples for GlassFish Project
Tim App Client Container features in GlassFish v3
Shalini JDBC in GlassFish v3
Hong Glassfish v3 and deployment

Wednesday Dec 09, 2009

GlassFish v3 is Now Available!

Note I have split the resources and news links off from this GlassFish v3 Announcement into the first of one of a series of resources and links entries. The new arrangement is more manageable and also simplifies the creation of additional entries as more resources and news are posted on the release.

It has been 4 and a half years since we announced GlassFish during JavaOne 2005 (PR) and today we are making available our most important release: GlassFish v3 is now available for download!

Our first release was during JavaOne 2006, we released GlassFish v1, the first Java EE 5 compliant App Server (family overview) and the second generation of GlassFish came out in September 2007 (family overview). While still based on JavaEE 5, GFv2 leveraged on Sun's (too) long history of App Servers to add the benefits of an enterprise product (quality, performance, scalability) to those of an open source community (agility, ease of use, supportive teams, pricing).

While the transition between GlassFish v1 and v2 was evolutionary, the transition from v2 to v3 is a major change that includes a whole new set of JCP specifications, JavaEE 6, and a new modular, OSGi-based, architecture that expands significantly the applicability of GlassFish.


Key links available now:

• GlassFish v3 Main Product Page
JavaEE 6 Hub
• JavaEE 6 Downloads (multiple bundles)
Java EE 6 Feature Article (also see Overview White Paper).

We are hosting several events in the next few days; we hope to see many of you at our Virtual Conference on Dec 15th, and in one of our Community Parties.

Below are lists of posts relevant to the launch and the release; they will be updated through the day to incorporate news as they happen. Updates will also be posted to @glassfish at Twitter. If you use Twitter we recommend you to use #glassfish to facilitate discovery. Some level of geotagging would help visualize the spread of the community.


Wednesday Sep 02, 2009

Oswald@Work is now "The TAO of AMP"


Kai's em novo blog como um funcionário da Sun é agora o The TAO of AMP e os posts mais recentes estão começando a refletir o estilo dele:

Impulsione seu site AMP utilizando mod_rewrite
O Guia de Manga de DataBases

Ainda da tempo para adicionar The TAO of AMP à sua lista de leitura diária.

Friday Mar 20, 2009

SailFin: Taming GC for SIP workloads

Sailfin logo

Telco Application servers such as SailFin require a more deterministic GC model with predictable pause time, and also that scales well on multiple processors. Waiting for a long time to connect a telephone call is clearly unacceptable.

Performance team at Sun spent a lot of time tuning GC while testing SailFin for high work loads. Bharath has written a series of blog entries (here and here) explaining his experience. Take a look.

Monday Nov 10, 2008

Leading Price-Performance Results with Open Source Stack: MySQL, GlassFish and OpenSolaris


Sun has posted SPECjAppServer 2004 results for a full OpenSource stack including MySQL 5.0, GlassFish v2 U2 and OpenSolaris 2008.05 on Sun's 1U SunFire x4150. The setup uses two x4150 running GF and one running MySQL, all on OpenSolaris.

Check out the detailed posts by BMSeer and Tom (Overview and Price Analysis). Also see the SPEC detailed submission and the relevant x4150 Benchmark page. The results take advantage of recent MySQL Performance Improvements including [1], [2], [3], [4].

Note Required disclosure : SPEC and SPECjAppServer are registered trademarks of Standard Performance Evaluation Corporation. Results from as of 11/05/2008. 2xSun Fire X4150 (8 cores, 2chips) and 1xSun Fire X4150 (4 cores, 1 chip) 1197.10 SPECjAppServer2004 JOPS@Standard; Best result with 8 cores in application-tier of the benchmark: 1xHP BL460c (8 cores,2chips) and 1xHP BL480c (8 cores,2 chips) 2056.27 SPECjAppServer2004 JOPS@Standard; Best result with 2 systems in application-tier of the benchmark: 2xDell PowerEdge 2950 (8 cores, 2 chips) and 1xDell PowerEdge R900 (4 chips, 24 cores) 4,794.33 SPECjAppServer2004 JOPS@Standard.

Thursday Oct 16, 2008

... Sparklines on Jersey, Servlet 3.0, Profiling GFv2, Survey Methodologies, and Barça in Miami

A compilation of today's news of interest:

Radio Receiver Icon

From Jersey in honor of the recent Jersey 1.0 Release: Paul writes about a new rev of the set of Jersey Samples (browse) that includes some implementation of Sparklines (and, as a Tufte fan... thanks!). And, Marc has been quoted in SD Times about JAX-RS and SOAP; read what he actually says, ignore the title "Sun moving away from SOAP"; we do both SOAP and REST.

Servlet 3.0 is getting closer to a Public Draft (with the rest of JavaEE 6), and Deepa has published a Intro to Servlet 3.0 at Java.Net. Some of the details apply to the old draft, so be sure to check Rajiv's comments.

Performance is always a hot topic, so check this note from one of our performance top guys, Binu John, on Profiling GFv2 with Sun Studio.

Rich's Comment on an EDC Report on AppServer Rankings started a fairly active TSS thread. As I wrote in my Comment at Savio's blog, the report is really a "User Satisfaction Survey", and, without more data, it is hard to interpret beyond that. BTW, if you download the report, consider agreeing to taking the survey and add your voice to their sample set.

And now, for the topic most of the world cares the most: Futbol, Barça has announced that they want to start a club in Miami. Check Marca, NYTimes or, Straight from the Source.

Sunday Aug 24, 2008

... Saving Money with JavaCAPS, From NB to GF, Mural Tutorial, EJB Performance

A compilation of today's news of interest:

Radio Receiver Icon

From Kevin and Mark - The recent Price Increate on Oracle Fusion has lead to a new conversion offer for Java CAPS (our SOA product built on GlassFish Server and OpenESB). Check Kevin's and OnTheRecord, these videos (beware! auto-run) and InfoWorld and TheRegister.

Alexis noticed a common thread in several comments in the USER alias for GlassFish Server and explains How Configuration on NetBeans may differ from that of your deployment GlassFish Server; and what to do about it.

Thanks to Swen-Helge for a pointer to this Mural/MDM tutorial.

From Adam a report on Informal Performance of Remote EJB. Adam has a number of entries at his blog arguing for EJB 3(.x) as lightweight component.

Wednesday Jul 09, 2008

Tuning SailFin for High Performance

Sailfin logo

Network Manager is a SailFin module that handles Grizzly integration, message parsing, ByteBuffers, thread pools etc. Ramesh, the module owner for network manager layer in SailFin Project, has started a series of blogs [1,2] explaining the knobs available to configure SailFin SIP container for high performance.

Checkout Eltjo Boersma's blog for more details about configuration of SailFin network listeners.

On the JCP front, JSR 289 has been submitted for final approval ballot. Click here to download the latest version of the specification.

Thursday Jun 26, 2008

Two second editions, two first times

new MySQL books

The buzz of the week is all about books. The second edition of High Performance MySQL has just hit the shelves. In addition to being a complete rewrite of the first edition, this is a sort of community book, where the authors gathered together the official tools and the ones available in the community to explain how to make MySQL fly. Many topics were submitted for public discussion. It is also the first time that an author has explained in public how to write it.

The other second edition is a reprint of the MySQL Cluster certification guide. Noticed anything peculiar in the cover? Yes! It's a Sun book. This is actually the very first book to be published through Sun's new print-on-demand partner, Vervanté. In other words, Sun's first Vervanté book is a book on MySQL!

Friday May 23, 2008

Monitor the Memory Consumption of your GlassFish Server

Poster for Little Shop of Horrors

Meena has posted a quick note on how to turn on GC logging on both the Cluster and the DAS instances of the GlassFish Server; check out her note on Monitoring Memory Growth in GlassFish.

I need to catch up on the whole VisualVM effort; perhaps we should invite them for the new TheAquarium TV series.

Tuesday Apr 29, 2008

NetBeans 6.1 Final - In time for JavaOne!

NB 6.1 logo

NetBeans 6.1 was just released and it is both a feature and a performance release. The feature part has to do with JavaScript support - the language everybody loves to hate (See Roberto's talk at JavaOne), MySQL improved support, Spring Framework support, Hibernate support, Axis 2, Sailfin support, and Jersey (RESTful Web Services) support.

It's also bringing back features lost in the translation from 5.5. to 6.0 such as JavaBeans support and the JSF CRUD Generator. NetBeans also now provides a more natural way to share libraries. All in all a lot of web and server-side features including support for the latest GlassFish v2ur2 release. The full list of features is here.

Performance is related to startup-time, completion speed, and memory consumption. Coming attractions include PHP support, JavaScript debugger, Groovy/Grails support, and more.

As always, the nice download matrix is available here. Congratulations to the team for yet another solid release!