netty EpollEventLoopGroup vs NioEventLoopGroup,我应该在CentOS 6上选择哪个?

时间:2016-02-23 03:38:53

标签: java netty

我使用netty 4.1.0CR,官方代码示例建议我使用NioEventLoopGroup启动服务器以及客户端,如下所示:

EventLoopGroup bossGroup = new NioEventLoopGroup(1);
EventLoopGroup workerGroup = new NioEventLoopGroup();
ServerBootstrap b = new ServerBootstrap();
b.group(bossGroup, workerGroup);

但我在Linux(CentOS 6)上运行服务器和客户端,我应该使用EpollEventLoopGroup来获得更好的性能吗?或者我怎么决定使用哪一个?

2 个答案:

答案 0 :(得分:3)

如果你在linux上运行,你可以使用EpollEventLoopGroup,因此可以获得更好的性能,更少的GC,并拥有更多只能在linux上使用的高级功能。

答案 1 :(得分:0)

Netty在特定的JNI传输中提供以下平台:

Linux (since 4.0.16)
MacOS/BSD (since 4.1.11)

与基于NIO的传输相比,这些JNI传输添加特定于特定平台的功能,产生更少的垃圾,并且通常可以提高性能。

有关详细信息,请查看Netty Native transports