0
Let’s beat the rpc benchmark record,current is 168k!
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
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;
