|
|
|
|
|
JeanFrancois Arcand and Alexey Stashok, past and current leads for Grizzly will give a presentation on Grizzly and Grizzly2 Thursday morning - 11am PT, Sept 25th, 2008. You can join us via a concall (free if in the US, caller-paid overseas) or online via TheAquarium @ uStream.TV. For more details check out the OverviewOfGrizzlyAndGrizzly2 page at the TheAquarium wiki. The plan (with the usual comment about mice and men) is to record the presentation. |
|
Jean-Francois started
Grizzly
(Grizzly The Project Roadmap lists 1.8.2 as the latest release before switching to 2.0, but JFA indicates in his Companion Note that there will be a 1.9 that will include support for NIO2; I'll confirm. I'll also double check that the plan for GFv3.final is to include Grizzly 2.0. |
|
Some people know they want a full JavaEE 5 AppServer - and for those, the GlassFish Server is a better choice than Apache Tomcat, but, even if you only want a subset of these APIs, check out Alexis' Tomcat Today, GlassFish Tomorrow. Also check out Wang Yu's Blocking and Non-Blocking IO article that, like Scott's More on the simple vs. the complex, shows the benefits of NIO as workload increases. |
|
|
JFA has done some quick Performance Tests on GFv3 using Faban and they look very good; Static HTTP is faster than v2 and almost up to raw grizzly! This with a pre-Technology Preview 2 release; performance will improve. |
I think GFv3 will have a big impact with its modularity, OSGi Support, small footprint, Performance, Startup-Time (stay tuned) and Scripting and JavaEE 6 Support.
We will provide more details on GFv3 during the GF track header at CommunityOne on Monday (May 5th) and then the rest of the week at JavaOne; Register Now, it's free.
|
Another good writeup from Scott (time trip: [1], [2], [3, [4]) this time on using NIO vs IO, partly as followup to JD Campbell's Top Java 5 EE Servers Compared. Scott compares simple and complex cases: in a simple request/response case the overhead of the select() call implied by NIO is noticeable, but in the more complex case where you need to scale, NIO is the clear winner. |
Check out Scott's note and you may also enjoy browsing other entries in his blog.
|
Covalent recently published some benchmark results on the scalability of 3 popular Servlet containers: Tomcat 6 using the native APR, Jetty and GlassFish. The results are good for the three, but they favor TC 6 when using a very large number of connections. One danger with performance tests is that is is really hard to make accurate comparisons, despite everybodies' best intentions. For example, inside Sun I've been involved in comparisons between the Web Server and GlassFish and the results are affected by details like how many requests, what response time, what percentage of successful responses, how much memory, what tuning parameters, etc. That is why there are organizations like SPEC and benchmarks like Web2005 and SPECjAppserver (and even those have their own issues). |
The Covalent piece is doing a good job in that it is dispelling the myth that Servlet containers do not scale, because it is forcing teams to provide better out of the box performance (Java SE 6 did a great job there) and because I think everybody will be more careful measuring performance. I'd expect improvements on all these fronts in the near future, in the meantime, here are some additional pointers you may want to check out...
• AB Considered Harmful
• Configuring Grizzly for Performance:
Part I, Part II
• Comments from Greg W regarding Jetty in that Covalent article.
Regarding the picture, I chose Mark Twain because (a) he popularized the phrase Lies, Damned Lies, and Statistics and (b) he is such a great guy that we should have him somewhere in TheAquarium, but please do note that I am not saying that the covalent blog are lies! :-)
|
Want to know more about Grizzly, the HTTP connector used in GlassFish V2? Jeanfrancois Arcand, the person behind Grizzly will be speaking in today's User Experience meeting. Come and listen from the "source" and feel free to give feedbacks and ask questions. |
As a GlassFish community member, you are allowed to dial into the User Experience meeting. Details on how to attend the meeting is at the UE Wiki Page. Please join the discussions and help improve GlassFish!
|
Jean-Francois had previously reported on running AsyncWeb on GlassFish (blog); he now reports on some initial performance numbers comparing against AsyncWeb running on MINA. The initial numbers look slightly better but it is non-conclusive. If you have an app using AsyncWeb, JFA would be interested in you doing some comparisons. |
BTW, the Grizzly framework is intended to be released out as a Separate Project but it is not yet there; in the meantime you can download the bits from here. Check details at JF's blog
|
Jean-Francois writes another informative article this time on adding SSL to Grizzly which uses NIO. This means that he is adding SSL over a framework that uses NIO SocketChannel (non-blocking) implementation. As he comments, SSL support has been in GlassFish since it's inception but that uses the blocking socket method. He goes over the obsticles that he faced and the solutions he came up with. He did say it was a bit like riding your bike in the snow. Doable but hard... |