前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CDN系列学习文章(八)——如何提高命中率

CDN系列学习文章(八)——如何提高命中率

原创
作者头像
开元
发布2019-06-22 12:52:37
2.7K0
发布2019-06-22 12:52:37
举报
文章被收录于专栏:开元说说

提高命中率或者降低回源带宽,在CDN业务是最常见的问题。本文结合多年CDN实战经验,梳理总结如何提高业务缓存命中率。

1.命中率意味什么?

  • 终端用户。命中率越高,意味的响应时间越短,下载资源速度越快。
  • 业务方。命中率越高,回源带宽越低,成本越低。(源站带宽相对于CDN是5-7倍价格)
  • CDN服务商。边缘节点命中率越高,中间回源带宽越低,成本越低。

2.命中率有哪些统计方法?

  • 流量命中率(字节命中率):命中率={ (请求总流量-回源流量)/请求总流量 }
  • 请求数命中率:命中率={ (用户总请求数-回源请求数)/用户总请求数 }

3.命中率有哪些优化套路?

1)实际业务模型

  • 动态业务。同一个域名同时包含静态和动态业务,建议对业务进行拆分。腾讯云解决方案:静态业务使用CDN,动态业务使用DSA产品。
  • 请求量较少。如果业务请求量较为分散,基于CDN节点缓存内容策略,缓存内容很容易被快速淘汰。具体详见之前学习系列:https://cloud.tencent.com/developer/article/1446659
  • 请求量突增。这类业务带来回源带宽突增,对源站成本以及性能冲击较大。类似突增业务,在业务低谷期建议对资源做预热,来较低回源带宽
  • 业务缓存头部。请求响应头部cathe_control存在no store或者no cache情况,该资源不会被缓存,会影响命中率,该类业务建议使用DSA产品。

2) 缓存配置

  • 缓存时间配置是否合理?静态资源缓存时间较短,甚至缓存时间是0情况。腾讯云默认静态资源缓存30天。
  • 缓存优先级是否合理?静态资源存在多条缓存策略,策略优先级策略理解有误导致。腾讯云缓存优先级策略是配置项列表底部优先级高于顶部优先级。
  • 去参数缓存是否开启?业务URL对应的资源与参数本身无关,建议开启去参数缓存。如果该功能不开启,根据URL不同的参数,分别进行缓存,影响命中率。
  • 多个加速域名能否共享缓存?多个加速域名相同URI对应的资源相同,可以配置共享缓存,提高命中率。共享缓存,顾名思义,多个域名相同的URI对应资源CDN节点只缓存一份,多个域名共享。解决域名不同URI资源相同场景下,CDN仅缓存一个域名资源,其他域名访问这个资源直接响应缓存内容,降低回源带宽。
  • 高级缓存是否开启?高级缓存功能,用户请求响应的header里有cache-control,对应值是maxage情况。这类情况如果源站响应头部没有Mtime(last-modify-time), CDN节点响应默认添加mtime头部,10分钟变一次,这样判断资源过期,会频繁的回源拉取资源,增加回源带宽。

3)平台功能

  • 合并回源。在一定时间内,多条相同的URL向同一个CDN节点请求新资源,CDN节点只回源一次拉取资源,提高命中率,降低回源带宽。主流CDN服务厂家都支持该功能。
  • Range回源。常规一条URL请求,CDN节点没有缓存,透传该请求只回源一次拉取。为了提高响应速度,CDN节点这条URL,拆分成若干个range请求,并行回源。这里存在一个问题,每次range请求,都需要判断Mtime与之前面range请求是否一致,如果不一样就会reset重新请求,如果多个源站Mtime不一致或者更新频繁,会出现回源带宽突增情况。

4) 异常状态码

  • 请求命中率来讲,如果命中率较低,可以查看异常状态码占比是否异常。
  • 流量命中率来讲,该情况影响较小。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.命中率意味什么?
  • 2.命中率有哪些统计方法?
  • 3.命中率有哪些优化套路?
    • 1)实际业务模型
      • 2) 缓存配置
        • 3)平台功能
          • 4) 异常状态码
          相关产品与服务
          内容分发网络 CDN
          内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档