我使用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
来获得更好的性能吗?或者我怎么决定使用哪一个?
答案 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