2017-01-16 27 views
0

我有8個Netty服務器通道監聽不同的端口(HTTP/S,WebSocket,MQTT,TCP等)。從源代碼我看到,所有這些服務器將共享相同的分配器 - ByteBufAllocator.DEFAULT。所以我的問題 - 推薦在不同服務器之間使用相同分配器的方式嗎?或者我可以爲每個服務器創建單獨的分配器?就像這樣:我應該在不同的netty ServerChannel中共享相同的ByteBuf分配器嗎?

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

回答

0

好,所以對於那些誰擁有了同樣的問題 - 這是更好地重用默認分配爲您的應用程序,在這種情況下,實際上將分配較少的內存。但是,爲每個偵聽套接字創建自己的分配器會降低通道之間的爭用級別。但是對於大多數應用程序來說,這不是單個分配器更好的情況。

相關問題