Let’s beat the rpc benchmark record,current is 168k!

bluedavy 发表于 2011年08月27日 14:36 | Hits: 2548
Tag: Netty Benchmark | Grizzly | Mina Benchmark | Java Network Framework | nfs-rpc | RPC | Scala | NIO | Java | AIO

Many applications need rpc to realize their business,in java world,we can choose rmi/webserivce to do rpc,but they’re not fast enough for most cases,so many of us choose some difference high performance network framework to realize rpc,such as mina,netty,grizzly,also we can choose some cross-language framework,such as thrift.
I wrote an abstract rpc framework to intergrate difference network framework more quickly,and also I intergrate mina/netty/grizzly and do a benchmark on them,hope some of u can give some advices or attend the project to modify code or integrate other network framework,current benchmark record(single connection,100 concurrents) is 168k created by grizzly-rpc & protobuf,let’s beat the rpc benchmark together,u can find more details athere.

benchmark machine:
CPU: E5620 (8 core HT to 16 core)
Memory: 24G

OS: Linux 2.6.18
JDK: 6u23
Java startup options: -Xms4g -Xmx4g -Xmn1g

This is current benchmark result.
100 concurrents,Single connection,Direct Call


100 concurrents,Single connection,Reflection Call


Different Concurrents,Direct Call


Different Concurrents,Reflection Call


Different Connections

NFS-RPC Different Concurrents Benchmark

More benchmark details u can download fromhere.

Did improvment:
1. move deserialization to business thread;
2. modify benchmark code,use array to record instead of ConcurrentLinkedQueue & File;
3. send message list to business thread instead of io thread notify one by one;

原文链接: https://blog.bluedavy.com/?p=317

0     0