linux send 发送大数据,TCP发送大的数据

博客探讨了TCP协议中的BUFFER大小,默认值及如何根据网络条件优化设置。提到了操作系统的默认缓冲区限制,并给出了一种计算最大BUFFER大小的公式,涉及带宽和RTT(往返时间)。还分享了在Linux系统中调整TCP缓冲区大小的方法,包括修改sysctl.conf配置文件。
摘要由CSDN通过智能技术生成

你指的BUFFER大小是什么?是TCP协议的BUFFER大小么?我默认是的,那这个BUFFER的大小是有操作系统默认的,一般是64KB, 当然也可以有程序设定的。操作系统还会有一个最大BUFFER的设置,默认可能是256KB, 也可能比这个大。如果为了优化TCP,你可以这样设置你的最大BUFFER大小:max buffer size = RTT(单位s) * bandwidth(单位Mbps) /8

比如,你的带宽是100Mbps, RTT是150ms, 则需要至少1.875M的最大BUFFER。如果是Linux的话,你可以在/etc/sysctl.conf文件里这样设置:# increase TCP maximum buffer size

net.core.rmem_max = 16777216net.core.wmem_max = 16777216# increase Linux autotuning TCP buffer limits

# min, default, and maximum number of bytes to use

net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216

保存后执行sysctl -p即可。(上面的数字是我瞎写的哦,不要当真,后果自负)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值