我应该将socket或nio用于只有几个客户端的服务器吗?

时间:2011-10-23 07:00:40

标签: java sockets nio

我有一个程序,它从外部源读取实时套接字数据,并尽可能快地将它们广播到几个客户端。来自源的数据带宽为200K,客户端的数据带宽小于10.

服务器和客户端位于Intranet和千兆以太网卡中。

目前,我正在使用mina 1.x,它是nio框架。但我发现表现并不像我预期的那么好。

我在想,将nio用于此应用程序是否正确? (我听说nio对千千万万的客户有好处)

在这种情况下,传统套接字的性能是否优于nio?

1 个答案:

答案 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上运行的。