我是靠谱客的博主 细腻母鸡,最近开发中收集的这篇文章主要介绍网络延时抖动,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题背景:

上线后延时抖动很频繁,正常延时为10ms左右,抖动时延达到300ms以上,严重影响了该业务的性能
在这里插入图片描述

问题结论:tcp传输报文段延时异常,传输内容越大,受网络影响越大

  1. index模块延时正常,controller模块延时异常
    该服务的这个接口业务逻辑比较简单,即在controller模块用AiHttpClient访问index服务,做处理然后返回结果。经过日志发现,在经过http调用过后,接收时延时出现异常
    在这里插入图片描述
  2. 排除wsClient的原因
    因为AiHttpClient是对wsClient做了封装,加入负载均衡等功能。我们怀疑是wsClient的原因,尝试用apache httpclient替换wsclient。灰度测试后,不仅平均延时上涨,而且抖动也没有减少,效果不理想。
    在这里插入图片描述
  3. 用wireshark抓包分析,部分报文段超时
    a. 超时重传
    在这里插入图片描述
    在这里插入图片描述

b. 报文段延时过高
在这里插入图片描述
在这里插入图片描述

  1. 传输内容越大,报文段数量多,受网络影响越大
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

解决方案:

  • index增加服务端http传输内容压缩机制,以降低报文段的数量,增加传输效率,降低网络质量的影响
    [] inde服务增加压缩机制,上线灰度本周一 10:30
    [] 全量C3观察上线, 昨天 17:30
    [] 全量上线, 今天 15:00
  • controller修改配置play.ws.compressionEnabled = true,使wsClient支持压缩
    [] 灰度C3上线,昨天 17:30
    [] 全量上线 , 今天 10:00

最新状态:

  • 增加压缩传输内容机制,上线后灰度情况
    上线后发现传输内容从112320 bytes压缩到了26768 bytes,报文段数量从10个减少到3个,经过一个早晚高峰的观察,灰度机器抖动情况已基本消失
    在这里插入图片描述
    在这里插入图片描述

最后

以上就是细腻母鸡为你收集整理的网络延时抖动的全部内容,希望文章能够帮你解决网络延时抖动所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部