Wednesday Aug 29, 2007

Case Study: Scaling a VoIP Component with GlassFish

Graph: Xitami/C vs. GlassFish/Java Scaling

TransNexus makes software for VoIP operations and billing. Recently, they teamed up with Sun to improve the scalability of their NexSRS VoIP Peering Server.

A joint engineering team determined that the use of a single-threaded web server was the primary scalability issue for NexSRS. To address this, they decided to migrate their front-end to GlassFish (and make use of its high-performance Grizzly HTTP Connector).

The results were even better than expected. Not only was scalability improved (76% faster on a four-core system), even single-core performance benefitted (with a 23% improvement). Full details are available in the team's SDN Article: Making Java Technology Faster Than C with LRWP.

Correction: the original web server (Xitami) is not single-threaded, as suggested above. The team did, however, find that it in certain cases it exhibited scalability issues similar to a single-threaded process.

Added: Also see the longer Article at SDN.

Monday Aug 21, 2006

100K Concurrent Transactions - WebServices in GlassFish

Kohsuke head shot

Last week we released the First Milestone of GlassFish V2, which includes the New WS Implementation. The performance numbers are very nice but when we started talking with the Business Integration folks they asked for many (over 100,000) concurrent requests, each taking substantial (say over 5 minutes) time...

So, Kohsuke and Jitu have been exploring a refinement of the V2 WS implementation so it is Truly Asynchronous. This iteration would replace Pipe with Valve using the ideas of Fibers. The result is very very good scalability with minimal impact in response time. Check the slides here and here. This change is not yet committed into the GlassFish roadmap. Technical discussions are in the DEV mailing lists of WSIT and JAX-WS