CDN 使用

介绍

CDN(内容分发网络),可以减少对FDS server的访问。CDN有很多节点部署在不同的地方,使用CDN时会自动选择较近的节点,能起到加速的效果。

什么时候应该使用CDN Prefetch(预取)

如果是通过CDN域名访问FDS资源的请求,根据CDN的缓存策略会把热点数据缓存在CDN节点上。 如果要访问的Object不在CDN上,大量同时通过CDN对一个Object的访问会同时回源到FDS server,给FDS server带来较大的压力。所以,如果一个Object会被大量用户同时访问(比如设备固件),最好先将Object预取至CDN。预取会消耗较多的FDS/CDN资源,如果Object不会被同时大规模访问,则不需要进行预取。
使用方式:在console上点击object的访问管理 > 预取CDN

什么时候应该使用CDN Refresh(刷新)

如果Object被覆盖后,通过CDN访问时有可能命中之前缓存下来的Object,所以需要执行CDN刷新操作,将最新的Object更新至CDN。与预取同样,刷新会消耗较多的FDS/CDN资源,如果没有必要,请不要频繁的执行该操作。
使用方式:在console上点击object的访问管理 > 刷新CDN

我们在海外站点没有提供预取和刷新功能(访问管理页面被禁用)
原因是海外FDS用的CDN是cloudfront,它没有对外提供prefetch

CDN缓存策略

CDN缓存默认是1天,CDN会考虑用户在metadata中设置的与cache相关的值

问题调查

在某段时间,我通过CDN下载出现了问题,是为什么?

如果CDN访问出现了问题,请提供以下信息。并按照反馈模板发送给负责支持的工程师。

  1. 发生问题的时间点
  2. 出现问题的url
  3. 出口ip,访问到的节点ip
  4. wireshark/tcpdump的抓包日志

用户下载文件的时候有302跳转,文件内容损坏

如果您的用户使用http下载,请确认是否发生了运营商劫持 解决劫持的唯一方法是使用https

为什么我用CDN刷新后下载到的还是旧文件?

  1. 通过非CDN的方式确认新文件已经被上传到FDS上。
  2. 确认在文件被更新5分钟后在console上点击刷新CDN。
  3. 删除本地浏览器缓存,等待5分钟后再次确认CDN下载的文件是否正确。
  4. cdn刷新和预取只对文档中列出的cdn域名有效,不会作用到旧的cdn域名

results matching ""

    No results matching ""