我有一个程序,它从外部源读取实时套接字数据,并尽可能快地将它们广播到几个客户端。来自源的数据带宽为200K,客户端的数据带宽小于10.
服务器和客户端位于Intranet和千兆以太网卡中。
目前,我正在使用mina 1.x,它是nio框架。但我发现表现并不像我预期的那么好。
我在想,将nio用于此应用程序是否正确? (我听说nio对千千万万的客户有好处)
在这种情况下,传统套接字的性能是否优于nio?
答案 0 :(得分:2)
根据我的经验,阻止NIO在少数(大约10个)连接中表现最佳。但是,您使用的任何方法通常都足以使10 Gig-E网络饱和。 (它只对环回很重要,或者如果你有超过10 Gig-E的带宽)
您使用的是什么网络?你得到的数字是多少?
这是我做过的旧测试。 http://vanillajava.blogspot.com/2010/07/java-nio-is-faster-than-java-io-for.html即使一个客户端也使用这两种方法使1 Gb连接饱和。这是在旧PC上运行的。