首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

Grizzly跟Netty以及Mina简单性能对比

2012-07-08 
Grizzly和Netty以及Mina简单性能对比转于自己在公司的Blog:http://pt.alibaba-inc.com/wp/experience_1336

Grizzly和Netty以及Mina简单性能对比
转于自己在公司的Blog:
http://pt.alibaba-inc.com/wp/experience_1336/grizzly-netty-mina-performance.html

最近在服务框架中尝试增加了Grizzly传输集成,简单测试后发现,TPS(每秒处理请求数)略低于Netty,略高于Mina,相差并不是很大,但TPS比Netty稳定很多(每秒方差小),不会出现大幅波动,可以考虑备选。

Mina为ApacheDirectory服务器的底层NIO框架:http://mina.apache.org
Netty为JBoss的NIO框架:http://www.jboss.org/netty
Grizzly是Sun的GlassFish服务器的底层NIO框架:http://grizzly.java.net

注:以下数据为开发环境简单测试,存在较大统计误差,并且Mina采用的是旧版本(因新版本API不兼容),可能存在测试的不公平性。

测试版本:
Grizzly2.1.1,Netty3.2.2,Mina1.1.7

测试结论:
服务器Linux下TPS,Netty最高,但波动非常大,Grizzly次之,但波动小,Mina最低。
本机Windows下TPS,Grizzly最高,Mina次之,Netty最低。

测试结果:
单一长连接,100并发,来回数据均为1K:
服务器Linux下TPS,Grizzly:15061,Netty:15211,Mina: 14828。
本机Windows下TPS,Grizzly:6945,Netty:4433,Mina:5750。

测试详细:

1. Linux:

(1) Grizzly:

+================================================================+|             Dubbo Remoting Performance Test Report             |+================================================================+|                        Test Environment                        |+----------------------------+| Server OS: Windows XP 5.1 x86                                  || Server CPU: 2 cores                                            || Server JVM: Java HotSpot(TM) Client VM 1.6.0_18-b07            || Server Memory: 16,252,928 bytes (Max: 259,522,560 bytes)       || Server Network: Intel(R) WiFi Link 5100 AGN - Teefer2 Miniport || Server MTU: 1500 bytes                                         |+----------------------------+| Client OS: Windows XP 5.1 x86                                  || Client CPU: 2 cores                                            || Client JVM: Java HotSpot(TM) Client VM 1.6.0_18-b07            || Client Memory: 16,646,144 bytes (Max: 259,522,560 bytes)       || Client Network: Intel(R) WiFi Link 5100 AGN - Teefer2 Miniport || Client MTU: 1500 bytes                                         |+----------------------------+|                           Test Scene                           |+----------------------------+| Server Transporter: mina                                       || Server Service Threads: 100                                    || Client Transporter: mina                                       || Serialization: hessian2                                        || Response Timeout: 5000 ms                                      || Data Length: 1024 bytes                                        || Client Shared Connections: 1                                   || Client Concurrent Threads: 100                                 || Run Times Per Thread: 10000                                    |+----------------------------+|                          Test Result                           |+----------------------------+| Succeeded Requests: 1,000,000                                  || Failed Requests: 0                                             || Client Elapsed Time: 6473 ms                                   || Average Response Time: 17 ms                                   || Requests Per Second: 5750/s                                    || Throughput Per Second: 11,777,750 bytes/s                      |+================================================================+

1 楼 finikes 2011-08-10   博主您好!
看了您的文章,深表谢意。
有个请求-能不能告知测试方法?或者工具
谢谢! 2 楼 sodarfish 2011-11-23   finikes 写道博主您好!
看了您的文章,深表谢意。
有个请求-能不能告知测试方法?或者工具
谢谢!

同求。。。。

热点排行