问题现象以及初步分析
•客户发现在A市到B市的两台数据库复制节点上,网络传输带宽远远低于线路实际带宽;
•通过scp等网络测试发现,网络连接发起初期,网络速度尚可达到数十兆字节每秒,但后续会持续下降,一直到数百K字节每秒;
•基于初步判断,通常这种情况是由于网络丢包引起,因此进行了网络抓包分析;后续将分别从TCP拥塞控制原理,和工具分析对此问题进行说明。
TCP拥塞控制原理
![6265b99880bab115a66a110fda697a15.png](https://i-blog.csdnimg.cn/blog_migrate/b3a1d87ee69a08d2003f8d2caada9159.jpeg)
当前TCP拥塞控制的主流算法是基于New Reno的变体(包括VEGAS,BIC,CUBIC等等),其主要原理是基于丢包来控制发送速度;其基础假设是丢包意味着网络阻塞,遇到这种情况需要降低发送速度。
在TCP连接启动阶段,带宽上涨是指数级别的;当达到一定阈值(ssthresh)之后,转为缓慢线性增加(每个RTT最多增加1,即所谓Additive increase);而当出现了丢包(快速重传模式,通常在RTT时间粒度检测出来),则会造成发送带宽接近减半(拥塞控制窗口减半,即所谓Multiplicative decreaseÿ