OSS私有域消耗大量回源流量的解决方案

        这几天发现新增加的 Bucket 中,OSS的回源流量包使用的特别快,在查看相关信息后,发现CDN的命中率在产品高发期也才只有4% 到 5%,这是为什么呢?

      通过工单跟阿里的客服沟通后,在日志中发现MISS链接都是一直在变化的,每一个都不一样。其实也是应该不一样的,因为当 Bucket 权限为私有时,需要调用阿里提供的接口对链接添加 queryString ,比如:OSSAccessKeyId、Expires和Signature 等参数,恰恰 Expires 为时间戳(获取当前时间,生成文件有效期),所以导致每次生成的链接都是不一样的。那么这个问题应该怎么处理呢?下面是我的解决方案:

     解决方案:

         步骤一:开启阿里云OSS私有Bucket回源授权  。 这个权限开启后,又遇到了另外一个问题,就是线上产品的文件无法正常加载,顿时周围的气氛紧张的不得了,老板都亲自跑到我身后督促着赶紧处理-_-||,那么接下来该怎么做就是我要说的步骤二了;

        步骤二:过滤URL中可变参数  。 这里只需要将不会变化的 OSSAccessKeyId 参数保留,忽略掉Expires和Signature这两个可变参数之后,结合步骤一开启的权限,就可以提高CDN的命中率了。

     如果上面的问题不是影响你命中低的原因,那么还有几个原因会造成CDN命中率低:

          1)缓存配置------针对静态文件设置缓存时间较短,导致CDN节点频繁回源;

          2)文件热度不够-----网站访问量较低,文件热度不够,CDN收到请求较少无法有效命中缓存;

          3)频繁刷新------频繁刷新的操作,也会导致命中率;

    针对于这几点,可以进行如下调整:

         1)根据实际业务,适当延长参数过期时间;参考链接:https://help.aliyun.com/document_detail/27136.html?spm=a2c4g.11186623.6.614.3ebb12aewQu9eA

         2)针对生成的文件链接,使用预加载将资源缓存到CDN节点; 参考链接:https://help.aliyun.com/document_detail/27140.html?spm=a2c4g.11186623.6.677.3ca02f05uzxDhI

        注意:在工单沟通的期间,阿里提出可以通过预热进行提升命中率,但是如果你跟我一样每次都是请求生成的链接都不一样,那么预热的方式是不太可行的。

 

    希望以上的内容可以帮助正经历类似问题的你。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值