【CDN 排查方案-1】认识 CDN 网络调优-阿里云开发者社区

 知识中心     |      2020-04-02 00:00:00

作者:张医博

背景:面向不同业务类型的网站,很多人都选择了 CDN 加速来优化自己的网站,目的在于加速网民的体验效果,赢取流量。

在网站调优的过程中,如果正确理解基于 CDN 的网络调优以及正确的配合 CDN 服务方来快速提供调优信息做了详细的讲解,

希望对大家有用,希望对从事 CDN 的人和对网络调优感兴趣的人能有作用。

1、确认调优类型

1.1、静态文件

  • 小文件: URL 小于 64KB
  • 大文件: URL 大于 1MB
  • 视频流:相当于大文件,要求速度平稳无卡顿
  • 全页面:网页包含多个域名及元素

1.2 动态

  • 小文件: URL 小于 64KB
  • 全页面网页: 包含多个域名及元素
  • 事物流程:模拟访问,登录,点击,提交等行为

1.3 协议

  • http、https

1.4 调优评测机制

  • NetworkBench 、Gomez、 Bonree

1.5 用户自定义评测

  • 日志统计(下载日志分析对比)
  • client 端探测(内嵌入播放器)
  • 自定义监测点(苹果 ADSL 检测)

2 观察指标时间,找出阻塞时间点

DNS 时间

image.png

建联时间

image.png

  • 定义:

浏览器和 WEB 服务建立 TCP/IP 连接时间

  • 特征

代表 RTT ,直接体现 ping 值,反应 CDN 边缘节点质量

建联时间应该在 30ms 以内,小文件建联时间应越小越好。

建连时间是基础,建联时间长会引发一系列慢的情况,不同 CDN 服务商会有不同的 TCP/IP 的优化。

SSL 握手时间

image.png

  • 定义

浏览器和 WEB 服务端建立安全套接层(SSL)链接的消耗时间

  • 特征

只有 HTTPS 协议中才有这个时间指标,反应服务端的处理能力,SSL 握手时间长会导致整体时间长

首包时间

  • 定义:是从浏览器发送 HTTP 请求结束后,收到 WEB 服务器返回的第一个有效载荷数据包
  • 特征:代表建联时间和服务器的响应时间之和

建联时间长且首包时间长:网络问题

建连时间端但首包时间长:服务器负载过高,或者静态数据没能缓存住

内容下载时间

image.png

  • 定义:浏览器从收到首包开始计时,至数据包全部接收全所需要的时间
  • 特征:

受网路质量(RTT 和丢包率)影响

受设备负载影响

受 TCP 协议栈技术影响

3、CDN 调优可调的指标有哪些

  • 解析层级 :应控制台二层以内,解析层级过多损耗更多。
  • CDN 节点配置:节点精细化比较好,一般都是到省级别的骨干节点,辅助个别地市级别的节点
  • 如果遇到域名劫持,需要向当地运营商反馈,目前 CDN 在 client 端防劫持的手段可以通过 HTTPS 预防,效果不一定是 100% 但是在 DNS 阶段不太好禁止。DNS 劫持我们可以通过 nslookup 或者 dig 验证。

检查设备负载

  • CPU 负载高,导致应用处理能力下降
  • 磁盘 I/O 负载高,导致服务器给出资源耗时长
  • cache server 响应时间
  • 网络负载
  • 带宽负载

    • 设备带宽

虚拟机(网桥性能问题)接近阈值丢包响应时间长

物理机(网卡级别)接近阈值丢包,响应时间长

  • 连接数异常高,导致网络处理能力下降

长连接

keepalive 是使用同一个 TCP 链接来发送和接收多个 HTTP 请求/应答,而不是每一个新的请求/应答打开新的连接的方法。

image.png

未完待续