当前位置: 首页 > article >正文

TCP的传输速度

如何确定TCP最大传输速度?

TCP 的传输速度,受限于发送窗⼝,接收窗⼝以及⽹络设备传输能⼒。
其中,窗⼝⼤⼩由内核缓冲区⼤⼩决定。如果缓冲区与⽹络传输能⼒匹配,那么缓冲区的利⽤率就达到了最⼤化。

如何计算网络传输能力呢?

⽹络是有「带宽」限制的,带宽描述的是⽹络传输能⼒
它与内核缓冲区的计量单位不同 :
带宽是单位时间内的流 ,表达是「速度」,⽐如常⻅的带宽 100 MB/s
缓冲区单位是字节,当⽹络速度乘以时间才能得到字节数。
带宽时延积 BDP 决定⽹络中⻜⾏报⽂的⼤⼩。所谓【⻜⾏】,是指它们就在⽹络线路、路由器等⽹络设备上。
其中: RTT 为⽹络时延。
由于发送缓冲区⼤⼩决定了发送窗⼝的上限,⽽发送窗⼝⼜决定了「已发送未确认」的⻜⾏报⽂的上限。因此,发送缓冲区不能超过「带宽时延积」。
发送缓冲区与带宽时延积的关系如下:
如果发送缓冲区「超过」带宽时延积,超出的部分就没办法有效的⽹络传输,同时导致⽹络过载,容易丢包;
如果发送缓冲区「⼩于」带宽时延积,就不能很好的发挥出⽹络的传输效率。

怎样调整缓冲区大小?

发送缓冲区⼤⼩可⾃⾏调节,三个数值分别为:动态范围的最⼩值,初始默认值,动态范围的最⼤值
接收缓冲区范围调节
接收缓冲区可以根据系统空闲内存的⼤⼩来调节接收窗⼝:
如果系统的空闲内存很多,就可以⾃动把缓冲区增⼤⼀些,这样传给对⽅的接收窗⼝也会变⼤,因⽽提升发 送⽅发送的传输数据数。反之,如果系统的内存很紧张,就会减少缓冲区,这虽然会降低传输效率,可以保证更多的并发连接正常⼯作发送缓冲区的调节功能是⾃动开启的,⽽接收缓冲区则需要配置 tcp_moderate_rcvbuf 1 来开启调节功能
调节 TCP 内存范围
根据实际场景调节的策略

http://www.kler.cn/a/297770.html

相关文章:

  • 【AI新纪元】OpenAI推出GPT-4o mini:GPT-3.5将成过去式?
  • 海外云手机有哪些推荐?
  • 问:聊一下NIO模型在Netty框架中的用法?
  • 使用信号量实现限流器:Python 实践指南
  • 1.初识ChatGPT:AI聊天机器人的革命(1/10)
  • node.js框架StrongLoop快速入门实战
  • 物联网之ESP32配网方式、蓝牙、WiFi
  • 第J3周:DenseNet算法实战与解析(TensorFlow版)
  • 苹果系统安装的QT程序无法显示窗口问题的解决办法
  • 共享单车轨迹数据分析:以厦门市共享单车数据为例(二)
  • 深入解析五大 LLM 可视化工具:Langflow、Flowise、Dify、AutoGPT UI 和 AgentGPT
  • C语言从头学55——学习头文件errno.h、float.h
  • 跨域(Cross-Origin)问题概述与后端解决方案(CORS(跨域资源共享)、JSONP(JSON with Padding)、代理服务器)
  • golang入门
  • 2.3.1 协程设计原理与汇编实现coroutine
  • 梧桐数据库(WuTongDB):复合索引(Composite Index)的原理讲解、应用场景和基于Python的实现样例
  • 问:Java中HashMap和Hashtable区别,知多少?
  • 如何集成Android平台GB28181设备接入模块?
  • 【Vue】pnpm创建Vue3+Vite项目
  • 学习node.js 十五,短链接,单设备登录,扫码登录