users@glassfish.java.net

Re: GlassFish V3 prelude performance--too fast?

From: Jacob Kessler <Jacob.Kessler_at_Sun.COM>
Date: Wed, 06 May 2009 15:05:50 -0700

Roughly, yes. I can imagine such a performance boost. Thread pooling and
NIO in general is going to make a big difference in total requests
served, since you will be cutting down the request processing time, your
major piece of processing time for this test. At the very least, you'd
get a 100% boost by using both of your cores rather than (I assume) just
one with the java app (unless you built in threading there?). Grizzly is
also good about not converting things to strings if it has to and stuff
like that, which also saves time.

In short, a lot of work has gone, and continues to go, into Grizzly
(which is mostly what is being tested here) to make it blazingly fast.
It's not surprising that it's an order of magnitude faster than a simple
java app listening to the network.

glassfish_at_javadesktop.org wrote:
> Hi, I have an admittedly naive and vague question for you guys.
>
> After measuring performance of a by-design very simple servlet (returning random entries from a 10k-entry static hashmap) with Apache JMeter running 500 simultaneous threads, I got an awesome (at least for me) 7400 requests/second performance.
>
> My experiment was not serious at all: it was performed with stressor and server running on the same host (i.e., competing for resources, hitting localhost instead of WAN), etc. However, running the exact same quick-and-flawed test against an equally simple and otherwise equivallent java app listening to a port, I got only 650 req/sec.
>
> So the question is: could the optimizations GlassFish has (such as thread pooling, etc) explain so great a difference in performance? Or is it more likely that the simple stress test fails to cover some important factor?
>
> Benchmarks were run on an Intel Core 2 E8400 Wolfdale at 3.0 GHz CPU, 2 GB DDR2 1066 MHz (5-5-5-15) memory, on Ubuntu 8.04.2 64-bit OS. top command showed a consistent 360-400 MB memory usage for the stressed application (either app or servlet).
>
> Any clues (apart from: do some serious test instead of feeding us bullshit)?
>
> Thanks
> lexlythius
> [Message sent by forum member 'lexlythius' (lexlythius)]
>
> http://forums.java.net/jive/thread.jspa?messageID=345291
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>
>