学习第38、39节
参数调整要点:
• option/childOption 傻傻分不清:不会报错,但是会不生效;
• 不懂不要动,避免过早优化。
• 可配置(动态配置更好)
• 需要调整的参数:
• 最大打开文件数
• TCP_NODELAY SO_BACKLOG SO_REUSEADDR
ChannelOption
• childOption(ChannelOption.[XXX], [YYY])
• option(ChannelOption.[XXX], [YYY])
• System property
• -Dio.netty.[XXX] = [YYY]
• ALLOCATOR 与 RCVBUF_ALLOCATOR
• 功能关联:
ALLOCATOR 负责 ByteBuf 怎么分配(例如:从哪里分配),RCVBUF_ALLOCATOR 负责计算为接收数据接分配多少 ByteBuf:
例如,AdaptiveRecvByteBufAllocator 有两大功能:
(1)动态计算下一次分配 bytebuf 的大小:guess();
(2)判断是否可以继续读:continueReading()
• 代码关联:
io.netty.channel.AdaptiveRecvByteBufAllocator.HandleImpl handle = Adap