若转载教程,请注明出自SW-X框架官方文档

在这个数字世界中,数字数据的快速和可靠移动,包括全球范围内的大规模数据传送,对于几乎所有行业的业务成功都变得至关重要。

然而,传统的TCP协议具有固有的性能瓶颈,特别是对于具有高往返时间(RTT)和丢包的高带宽网络上最为显著。

TCP固有的传输性能瓶颈主要是由TCP的加性增/乘性减(AIMD)拥塞避免算法引起的,TCP拥塞算法缓慢地探测网络的可用带宽,增加传输速率直到检测到分组丢失,然后指数地降低传输速率。

TCP的这种拥塞算法是为了避免Internet整体拥塞而设计的,因为在互联网的早期,数据传送网络都是基于电缆固定网络,传输中出现丢包就可以100%的认为是传输通道出现了拥塞。然而在今天的网络情况下,WIFI/移动蜂窝网络等无线传输网络本身就具有天然的丢包可能性,这些与网络拥塞无关的其它分组丢失同样降低了传输速率。

事实上,TCP AIMD算法本身也会造成丢包,导致网络出现瓶颈。在提高传输速率直到发生丢失时,AIMD过于激进地探测可用带宽导致丢包。在某些情况下,这种由于激进探测带宽引发的丢包损耗实际上超过了来自其它原因(例如物理介质或交叉业务突发)的损耗,并且以不可预测的损耗比将"无损耗通信信道"变为"不可靠的信道"。

TCP AIMD中基于丢包的拥塞控制对网络端到端传输吞吐量具有致命的影响:当一个分组丢失需要重传时,TCP大幅降低发送数据甚至停止发送数据到接收应用,直到重传确认。所有的网络应用传输性能都会受到TCP这种拥塞算法的影响,但是对于大批量数据的传输而言,尤其致命。

TCP中可靠性(重传)与拥塞控制的这种耦合对文件传输造成严重的人为吞吐量损失,这从基于TCP的传统文件传输协议(如广域网上的FTP、HTTP、CIFS、NFS )的性能较差可见一斑。

免费教程手写不易,希望能支持一下SW-X框架,(^.^)

GitHub有账号的朋友,也可以给我们一个小星星噢!

希望能够与大家共同培育出良好的Swoole生态,对Swoole有兴趣的朋友可以加我微信好友,进入SW-X框架官方交流群。
该群以Swoole生态发展交流为主,若出现争吵,攻击其他人等行为,立即剔除。