自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 delay_ack引发bbr速率掉底血案(下)

前一篇说到delay_ack对应数据包采样值带宽值很不巧刚好更新了带宽,造成了速率的陡降的问题。客户表示升级了linux系统也能解决问题,但是升级所有线上机器的内核周期太长。升级内核版本为何能修复这个问题呢?新内核版本并没有禁用delay_ack,也没有增加delay_ack情况下不进行带宽更新操作。所以还需要弄明白是新版本的内核是哪个变更规避了delay_ack带来的影响。重新仔细看了下吞吐曲线图,实际上4分钟内不止出现了4次码率掉底问题,比较明显的就出现了6次,还有好几个很快就恢复吞吐量下降的.

2022-01-14 15:28:50 319

原创 delay_ack引发bbr速率掉底血案(上)

“时延低的传输速率一定高于时延高的网络”,“hash表的查询操作只需要O(1)的时间”,“bbr拥塞算法优于cubic算法”。“大部分场景”都正确并不适用所有场景,但是平时大家总是将这些“大部分正常”当作永远正确来处理。然而小概率并不是不发生,就程序而言,我们写的程序逻辑在大部分场景都是正常,但是可能某些场景下就会出现逻辑异常,也就是我们常说的程序bug。今天我要说的delay_ack导致的bbr速率异常问题也是一种“小部分场景”异常的问题。在推动某头部直播客户上云的过程中,客户投诉卡顿率飙升,主要表现

2022-01-13 17:26:48 613

原创 cdn回源源站只吐小包怎么办?

cdn回源 window_scale tcp

2021-12-16 11:05:25 426

原创 客户端Connection reset by peer怎么办?——可能只是被劫持了(2)

之前写过一篇关于中间设备劫持,造成客户端建连报错 Connection reset by peer的错误,具体可以通过下方链接查看。客户端Connection reset by peer怎么办?——可能只是被劫持了_qq_40894952的博客-CSDN博客有人私聊问我“你是如何判断出被劫持了,我这也有类似的问题,百分百复现能帮忙看看”。既然是百分百复现,那就很爽快的接下这个“锅”。不仅可以了解更多的案例,而且运气好还可以帮助同事解决具体问题。就了解了下具体问题描述。...

2021-11-22 16:33:59 850

原创 客户端Connection reset by peer怎么办?——可能只是服务端挂了

cdn线网运营总会遇到有各种各样的奇怪问题,而导致这些问题却对应的各种各样的原因。有些原因查出来却总叫人哭笑不得,比如本案例所说的,服务端的程序挂了导致的connection reset by peer问题。这种最基础的原因却往往最能怀疑到,我个人觉得主要原因有以下两点。一,定式思维总会让人最先排出掉最接近真相到原因。有点类似高中做题,总容易先入为主,陷入死胡同。二,没有人对各种原因做归纳总结,不同的原因导致的虽然都是连接失败这一现象,但如果深入研究,一定有独特的特征。需要有人说出“白马”和“黑马”

2021-06-22 20:42:52 4764 2

原创 客户端Connection reset by peer怎么办?——可能只是被劫持了

网络问题排查基本就是扯皮,扯不清也道不明。在cdn厂商多年,质量问题排查出来的结论:中间设备劫持连接了。然而客户爸爸们总觉得我们是甩锅,逃避cdn质量问题。最近又碰到一个客户投诉问题,为了让更多的人了解确实存在劫持过程,打算写下此文。某客户A在我司的cdn之后,被我们节点reset的请求占比高。并且客户的日志分析就有较高的ip聚集性。可是每次被reset的客户ip不固定,客户只有真实用户手机上报的失败信息,不能配合双端抓包。真是“人在家中坐,锅从天上来”,查呗,就是专业干这个活的...

2021-06-19 11:49:34 1507

原创 BBR_v2.0真的要来了!

  昨天google在BBR论坛上发布了,BBR算法小组的最新进展。链接如下BBR Congestion Control Work at Google IETF 102 Updates:https://datatracker.ietf.org/meeting/102/materials/slides-102-iccrg-an-update-on-bbr-work-at-google-00 B...

2018-07-25 16:01:28 11571 5

原创 BBR中乱序对带宽采集的影响

BBR算法中,网络带宽和最小延迟是两个最重要的变量,网络带宽是使用minmax变量进行十轮过滤出一个最大值,而各种情况下的带宽采集计算的准确性就十分重要,之前就有一篇关于delay-ack对BBR带宽采集影响的介绍,https://blog.csdn.net/qq_40894952/article/details/80626423 。如果有啥说的不对的地方,欢迎大家指正。回到乱序对带宽采集的影响,...

2018-07-11 11:17:27 1064 1

原创 一个更高效的RACK机制

tcp在kernel-4.3内核中加入了RACK机制,用从时间维度上来判断丢包,用最新被(S)ACK确认的数据包为基准,其发送时间减去一个乱序时间窗口之前的数据包如果没有收到反馈,就可以判断为丢失了。主要为了解决尾部丢包和二次重传的问题。旧版RACK一个比较明显的缺点就是容易误判,尤其是在重传数据包被(S)ACK确认,是否更新最近被确认的数据包问题上,只是简单用判断重传到被确认的时间是否大于min...

2018-06-14 11:21:01 2183

原创 BBR算法中轮数计算方法

        轮数在拥塞算法中是一个重要的概念,基于丢包的拥塞算法中,比如reno算法在拥塞避免阶段,每轮进行一次拥塞窗口加1,bic算法也是每轮进行一次拥塞窗口增加,只是增加的幅度不同,而基于时延的拥塞算法,如vegas算法,检测出一轮内的最小rtt_us值,与rtt_min对比推断得到当前网络的数据包排队的情况。这些例子中可以看出,对于算法的实现都需要考虑轮数的统计。        那算法是...

2018-06-08 18:14:44 1205

原创 delay-ack对BBR带宽采集的影响

BBR算法带宽时延积BDP是最为重要的一个变量,而公式BDP = Bw * min_RTT,即等于链路带宽乘以最小传输时延,Bw和min_RTT的准确性直接影响了最终BBR算法的传输效果。min_RTT的估算,是通过不断比较记录一个最小的rtt值,如果超过10s没有更新过min_RTT,则进入到Probe_RTT模式中,将发送数据量减小到4个包,来探测当前的最小min_RTT值。这种方式其实也会存...

2018-06-08 17:57:39 1196 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除