我应该在不同的netty ServerChannels之间共享相同的ByteBuf分配器吗?

时间:2017-01-16 12:33:57

标签: netty

我有8个Netty服务器通道侦听不同的端口(HTTP / S,WebSocket,MQTT,TCP等)。从源代码我看到所有这些服务器将共享相同的分配器 - ByteBufAllocator.DEFAULT。所以我的问题 - 是否建议在不同服务器之间使用相同的分配器?或者我可以为每个服务器创建单独的分配器?像这样:

ByteBufAllocator allocator = new PooledByteBufAllocator();
b.childOption(ChannelOption.ALLOCATOR, allocator)
b.option(ChannelOption.ALLOCATOR, allocator)

1 个答案:

答案 0 :(得分:0)

好的,对于那些有相同问题的人来说 - 最好重复使用默认分配器作为你的应用程序,在这种情况下,实际上会分配更少的内存。但是,为每个侦听套接字创建自己的分配器将降低通道之间的争用级别。但是对于大多数应用程序来说,这不是单个分配器更好的情况。