不要再继续优化 TCP

搞 TCP 优化的,不是在解决任何问题,好比说你在将一辆马车加速到 70 km/h,却不愿意直接买一辆汽车,没意义的核心在于车体结构而不是那匹马。

在 400G 网络里,把 TCP 单流吞吐从 50G 优化到 200G,其实是负收益,因为 200 只是一个吞吐均值,越高速越怕抖动,而延迟,P99 可能还会升高,且代码实现复杂度提高,这就是典型的负 ROI 工程,看起来很硬核,实际是借债玩自嗨。

TCP 的上限不是算法和实现,是可靠字节流抽象的设计。拆解下来,首先是字节流抽象,这约束其实现的字节粒度,在规模,尺度上不可扩展,越高速的网络,维持字节流的指令周期,内存操作成本占比越高,其次就是流约束下的可靠性,意味着多路径不可用,传输无法随并行度而扩展。

做 TCP 优化,就像给高铁提速到 700 km/h,为什么不坐飞机呢,既然那已经是飞机的主场了,拆了铁轨,多建机场。

而在广域网,传播时延占比更大,单机优化收益可忽略不计,TCP 就是为这里定制的,事实也表明,TCP 跟随互联网扩展了 40 年,还在继续跟随。

广域网 TCP 核心在于收敛到公平,而不是确定性的性能,做广域网 TCP 优化,就像让铁路取代公路,以稳定的 200 换 100 的均值,可确定性并不是最重要的,公平,稳定的可达性才是。

TCP 优化没有意义,QUIC 优化就好吗,同样没有意义,QUIC 只是另一种 TCP 而已。

浙江温州皮鞋湿,下雨进水不会胖。

相关推荐
叼烟扛炮2 小时前
Linux 学习笔记(五十六):IO 多路复用初探——select 的“三宗罪”
linux·服务器·数据库·笔记·学习·php
xixingzhe23 小时前
AI 对话打字机效果:SSE 和 HTTP 的区别与适用场景
网络·网络协议·http
zhikouai5 小时前
把外部助手接进聊天软件的架构分层与参数配置
服务器·网络·php
叼烟扛炮8 小时前
Linux 学习笔记(五十八):IO 多路复用封神——epoll 底层原理揭秘
linux·运维·服务器·网络·笔记·学习·php
叼烟扛炮9 小时前
Linux 学习笔记(五十一):数据链路层与 ARP 协议——局域网寻址与黑客骗局
linux·网络·网络协议·php·tcpdump
沫璃染墨14 小时前
从零入门计算机网络系列(十四):TCP报文与字节流本质——从数据封装到报文边界
linux·服务器·网络·网络协议·tcp/ip·tcp
vipxieliang15 小时前
语言对比卡:PHP vs Go vs Java 的优缺点、适用场景与「为什么选 PHP」
java·go·php
byte轻骑兵16 小时前
【LMP】规范精讲[13]: 参数的户口本、公钥的集装箱与出厂的兜底值
人工智能·网络协议·人机交互·lmp·蓝牙链路管理
流浪00116 小时前
计算机网络篇17:传输层——TCP 超时重传、三次握手与四次挥手,TIME_WAIT 为什么要等 2MSL
网络协议·tcp/ip·计算机网络·三次握手·四次挥手·超时重传
东鹏特饮1 天前
系统运维(传统/通用运维)面试题
开发语言·php