Silly http benchmark
Luis Neves
luis.neves at gmail.com
Fri Jan 29 06:39:45 EST 2010
Hello,
On 01/29/2010 03:39 AM, "Trustin Lee (이희승)" wrote:
> I've just looked into the source code and found a little difference
> between Netty server and others - ExecutionHandler. It's unfair to
> Grizzly and MINA because you inserted an ExecutorFilter for MINA and
> Grizzly has an event thread pool by default. If you don't add
> ExecutionHandler to the pipeline, the numbers will look significantly
> better than others.
I followed your suggestion and removed the ExecutorFilter from Mina,
but the results didn't improve, see below.
> I guess nginx doesn't have an event thread pool, but that's another
> story. Perhaps you could remove the ExecutionHandler / ExecutorFilter
> from the pipeline / filterChain to compare with nginx. (I don't know
> how to remove the event thread pool in Grizzly unfortunately.)
I also don't have any idea of how to configure the "thread pool
behavior" of grizzly.
> Therefore, I suggest:
>
> 1) Upgrade to 3.2.0.ALPHA4-SNAPSHOT
> 2) Add ExecutionHandler to Netty pipeline to be fair to MINA and Grizzly.
> 3) Remove ExecutionHandler / ExecutorFilter from Netty / MINA and
> compare with each other and nginx.
The latest netty snapshot gives a little boost in performance.
These are the average results across 5 runs.
mina (trunk) - 24K req/sec
grizzly (1.9.18-i)- 56K req/sec
netyy (3.2-ALPHA4-SNAPSHOT) - 83K req/sec
nginx (0.8.32) - 119K req/seq
I've made a spreadsheet with a simple statistical analysis of the results:
<http://dl.dropbox.com/u/279023/netty/bench_test.ods>
I forgot to mention earlier the JVM version. I'm using the latest sun jdk.
$ java -version
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) 64-Bit Server VM (build 16.0-b13, mixed mode)
Oh ... and of course that I don't mind if you add this performance
test to the project web site.
Regards.
--
Luis Neves
More information about the netty-users
mailing list