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 写道博主您好!
看了您的文章,深表谢意。
有个请求-能不能告知测试方法?或者工具
谢谢!
同求。。。。