• Netty 增加接收缓冲区大小


    增加接收缓冲区

    使用netty时发现每次channelRead触发时,对应的消息大小总是少于1024,查了下资料,可以通过两种如下方式设置

    .option(ChannelOption.SO_RCVBUF, 1024*4)
    .option(ChannelOption.RCVBUF_ALLOCATOR,new FixedRecvByteBufAllocator(4096))
    //FixedRecvByteBufAllocator也可以换为AdaptiveRecvByteBufAllocator
    

    第一种参数似乎不起作用,找到了这个issue,根据里面的说法,这个参数传到os层,由于不同os的差异,实际上这个参数未必会和设置的一样,最终缓冲区大小还是由os决定的。

    我的测试环境是macOs,通过man getsockopt,看到SO_RCVBUF这个参数是动态变化的,会有一个自适应的过程。

    在netty的测试程序,增加发送数据大小为10MB后,发现channelRead经过一定次数后,消息大小从最初的1024增加到了16384。

  • 相关阅读:
    Linux命令——find
    Linux命令——locate
    python模块:datetime
    python模块:json
    python模块:shelve
    python模块:shutil
    python模块:sys
    python:OS模块
    str.index()与str.find()比较
    python模块:re
  • 原文地址:https://www.cnblogs.com/lshao/p/13670723.html
Copyright © 2020-2023  润新知