国际阿里云:提高CDN缓存命中率教程!!!

CDN缓存命中率低会导致源站压力大,静态资源访问效率低。您可以根据导致CDN缓存命中率低的具体原因,选择对应的优化策略来提高CDN的缓存命中率。

背景信息

CDN通过将静态资源缓存在CDN节点上实现资源访问加速。当客户端访问某资源时,如果CDN节点上已经缓存了该资源,用户请求会命中CDN节点上的缓存,直接从缓存中获取资源返回给用户,可避免通过较长的链路回源,提高资源的响应速度和降低源站的带宽压力。如果CDN缓存命中率低,会影响用户体验和增加源站的带宽压力。

CDN缓存命中率包括字节命中率和请求命中率:

  • 字节命中率=CDN缓存命中响应的字节数÷CDN所有请求响应的字节数

    说明

    字节命中率越低,回源流量越大,源站的流出流量越大,源站的带宽资源以及其他的负载越大,因此回源流量代表了源站服务器接收到的负载压力,在业务使用中主要关心字节命中率。

  • 请求命中率=CDN缓存命中的请求数÷CDN所有的请求数

查看CDN缓存命中率

查看CDN缓存命中率的方式如下:

  • 方法一:通过控制台查看

    CDN控制台提供的缓存命中率监控为字节命中率,详细信息如下:

    • 通过资源监控功能查询

      可查询数据的时间范围较大,适合查看较长周期(例如30天)内的命中率情况。时间粒度为5分钟的情况下,数据延迟15分钟左右。详细信息,请参见资源监控。

      命中率

    • 通过实时监控功能查询

      可查询数据的时间范围较小,适合查看较短周期(例如1小时)内的实时命中率情况。时间粒度为1分钟的情况下,数据延迟3分钟左右。详细信息,请参见实时监控。

      质量监控

  • 方法二:调用API查看

    • 资源监控功能对应的API

      API描述
      DescribeDomainHitRateData获取加速域名的字节命中率数据,支持获取最近90天的数据。
      DescribeDomainReqHitRateData获取加速域名的请求命中率数据,支持获取最近90天的数据。
    • 实时监控功能对应的API

      API描述
      DescribeDomainRealTimeByteHitRateData获取加速域名1分钟粒度的字节命中率数据,支持查询7天内的数据。
      DescribeDomainRealTimeReqHitRateData获取加速域名1分钟粒度的请求命中率数据,支持查询7天内的数据。

提高CDN缓存命中率

下表列出了影响CDN缓存命中率的因素和提高CDN缓存命中率的方法。

策略影响因素与应用场景配置方法
业务高峰前预热热门资源影响因素:运营大型活动或新版本安装包发布前,没有提前将资源预热到CDN节点,大量资源需要从源站获取,导致CDN缓存命中率低。

应用场景:

  • 运营活动

    运营一个大型活动时,提前将活动页涉及到的静态资源预热至CDN节点,活动开始后用户访问的所有静态资源均已缓存至CDN加速节点,由加速节点直接响应。

  • 安装包发布

    新版本安装包或升级包发布前,提前将资源预热至CDN加速节点,产品正式上线后,海量用户的下载请求将直接由CDN加速节点响应,提升下载速度,大幅度降低源站压力,提升用户体验。

预热资源
合理配置缓存过期时间:
  • 不常更新的静态文件(例如,图片类型、应用下载类型等),建议设置1个月以上。

  • 频繁更新的静态文件(例如,JS、CSS等),根据实际业务情况设置。

  • 动态文件(例如,PHP、JSP、ASP等),建议设置为0s,即不缓存。

影响因素:

  • CDN上未配置缓存策略,所有用户请求都需要回源站。

  • CDN上配置的缓存过期时间过短,缓存资源频繁过期,导致缓存命中率低。

应用场景:用户在源站发布了静态资源,CDN节点没有将资源缓存下来,或者CDN节点上缓存的资源很快就失效了。

配置缓存过期时间
去除URL中问号后的参数缓存影响因素:当URL请求中带有queryString或其他可变参数时,访问同一个资源的不同URL(URL携带的参数不同)会重新回源,导致CDN缓存命中率低。

应用场景:希望通过不同的URL(URL携带的参数不同),可以访问到同一个资源。

忽略参数
大文件设置分片回源策略影响因素:用户下载安装包可能下载一半就停止下载,或者观看视频只看了一部分就停止观看,即用户只需要访问资源文件指定范围内的部分内容,但是CDN节点会向源站请求整个文件,从而使得CDN节点从源站下载的内容大于响应给用户的内容,导致缓存命中率低。

应用场景:用户下载应用安装包或者观看视频资源。

配置Range回源
其他命中率优化策略除了以上几种常用的命中率优化措施以外,阿里云CDN还有其他的优化措施,这些措施可以根据不同的业务场景来配置,例如:中心302调度、边缘302调度、合并回源、共享缓存等。由阿里云售后工程师在后台配置。

查看缓存命中状态日志

在CDN的请求日志中,记录了所有CDN请求的缓存命中状态。详细日志格式,请参见下载日志。

缓存命中状态字段说明:

  • HIT:表示命中缓存。

  • MISS:表示未命中缓存。

说明

命中状态仅表示CDN L1节点的命中状态。例如,CDN L1节点未命中缓存,L2节点命中缓存,日志中仍显示MISS。

日志示例:

26/Jun/2019:10:38:19 +0800] 192.168.53.146 - 1542 "-" "GET http://example.aliyundoc.com/index.html" 200 191 2830 MISS "Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://example.com/robot/)" "text/html"

您也可以调用DescribeCdnDomainLogs接口,获取加速域名的日志信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/142816.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算不上最全,但都是必备——Spring这些不会不行啊

Spring 篇 Spring框架中的单例bean是线程安全的吗? 不是线程安全的 Spring bean并没有可变的状态(比如Service类和DAO类),所以在某种程度上说Spring的单例bean是线程安全的。 Spring框架中有一个Scope注解,默认的值就是singleton&#xff0…

数据结构与算法之排序: Leetcode 922. 按奇偶排序数组 II (Typescript版)

按奇偶排序数组 II https://leetcode.cn/problems/sort-array-by-parity-ii/ 描述 给定一个非负整数数组 nums, nums 中一半整数是 奇数 ,一半整数是 偶数 。 对数组进行排序,以便当 nums[i] 为奇数时,i 也是 奇数 &#xff1b…

Windows如何正确设置PHP环境变量以在Git Bash中运行命令

1、随便找一个目录,鼠标右键打开git bash here 2、cd的根目录 3、找到php安装目录 4、 在根目录下打开 vim .bash_profile ,添加环境变量,php地址根据自己的本地地址而定 PATH$PATH:/d/phpstudy_pro/Extensions/php/php7.3.4nts 添加后保存…

基于Rabbitmq和Redis的延迟消息实现

1 基于Rabbitmq延迟消息实现 支付时间设置为30,未支付的消息会积压在mq中,给mq带来巨大压力。我们可以利用Rabbitmq的延迟队列插件实现消息前一分钟尽快处理 1.1定义延迟消息实体 由于我们要多次发送延迟消息,因此需要先定义一个记录消息…

2.6 Windows驱动开发:使用IO与DPC定时器

本章将继续探索驱动开发中的基础部分,定时器在内核中同样很常用,在内核中定时器可以使用两种,即IO定时器,以及DPC定时器,一般来说IO定时器是DDK中提供的一种,该定时器可以为间隔为N秒做定时,但如…

RedCap推动5G规模应用,紫光展锐赋能产业高质量发展

5G R17 RedCap作为面向中高速物联网场景的关键技术和解决方案,可以大幅降低终端的复杂度、成本和功耗。在当前国内5G应用规模化发展关键时期,5G R17 RedCap拥有广大的市场潜力与广泛的应用场景,将有助于推动5G规模应用、构建融通发展的5G生态…

【海德教育】建筑八大员中综合来看,以下几个岗位比较吃香

1.施工员 施工员刚入行工资不高、劳动强度大,但发展前景可观。 通过考建造师等执业资格证,后期有望出任项目经理,拿到一万起步的月薪。 想要晋升项目经理、包工头等,对于社交能力和个人吃苦能力要求比较高,比较适合男孩…

7、线性数据结构-切片

切片slice 容器容量可变,所以长度不能定死长度可变,元素个数可变底层必须依赖数组,可以理解它依赖于顺序表,表现也像个可变容量和长度顺序表引用类型,和值类型有区别 定义切片 var s1 []int //长度、容量为0的切片&…

11月14日,每日信息差

今天是2023年11月14日,以下是为您准备的11条信息差 第一、中国航司首开“上海-开罗”往返直飞航线,12月11日首航 第二、中核集团:我国首次获得丰度99%以上的镱176同位素 第三、微软与谷歌将不会挑战欧盟的数据迁移法规,该法律将…

ProEasy机器人:运动+通讯相关说明

----------------机械手运动------- --常用指令:MovP弧线运动、MovL直线运动 MovP(1) --弧线轨迹运动到一号点 MovP(2) --弧线轨迹运动到二号点 MovL(1) --直线轨迹运动到一号点 MovL(2) --直线轨迹运…

LeetCode——链表(Java)

链表 简介[简单] 203. 移除链表元素[中等] 707. 设计链表[简单] 206. 反转链表[简单] 24. 两两交换链表中的节点[简单] 19. 删除链表的倒数第 N 个结点 简介 记录一下自己刷题的历程以及代码。写题过程中参考了 代码随想录。会附上一些个人的思路,如果有错误&#…

VB生成UTF-8的URL编码

最近在研发股票软件,涉及到URL字符串的处理。贴出以下代码。 Function GBtoUTF8(szInput) Dim wch, uch, szRet Dim x Dim nAsc, nAsc2, nAsc3 如果输入参数为空,则退出函数 If szInput "" Then GBtoUTF8 szInput Exit Function End If 开始…

前、后端程序员开发常用api接口

顺丰速运开放平台:可以查询顺丰速运的快递信息。京东物流开放平台:可以查询京东物流的快递信息。全国快递物流查询:1.提供包括申通、顺丰、圆通、韵达、中通、汇通等600快递公司在内的快递物流单号查询。2.与官网实时同步更新。3.自动识别快递…

【C++】join ()和detach ()函数详解和示例

简单的来说,join ()方法建立的线程具有阻碍作用,该线程不结束,另一些函数就无法运行。detach ()方法建立的线程,可以和另一些函数同时进行。下面以示例进行详细说明,以帮助大家理解和使用。 目录 join ()detach () jo…

PHP使用文件缓存实现html静态化

<?php // 动态生成的内容 $content "<html><body><h1>time:".date("Y-m-d H:i:s")."</h1></body></html>"; // 静态文件保存路径和文件名 $staticFilePath "file.html"; if(file_exists($s…

Ladybug 全景相机, 360°球形成像,带来全方位的视觉体验

360无死角全景照片总能给人带来强烈的视觉震撼&#xff0c;有着大片的既视感。那怎么才能拍出360球形照片呢&#xff1f;它的拍摄原理是通过图片某个点位为中心将图片其他部位螺旋式、旋转式处理&#xff0c;从而达到沉浸式体验的效果。俗话说“工欲善其事&#xff0c;必先利其…

java实现计数排序

图解 计数排序是一种线性时间复杂度的排序算法&#xff0c;它不基于比较排序&#xff0c;而是根据待排序序列中元素的值来进行排序。 具体的过程如下&#xff1a; 统计序列中每个元素出现的个数&#xff0c;得到一个计数数组count。其中&#xff0c;count[i]表示待排序序列中值…

pandas读写json的知识点

pandas对象可以直接转换为json&#xff0c;使用to_json即可。里面的orient参数很重要&#xff0c;可选值为columns,index,records,values,split,table A B C x 1 4 7 y 2 5 8 z 3 6 9 In [236]: dfjo.to_json(orient"columns") Out[236]: {"A":{"x&qu…

Centos 7rc.local脚本命令开机不执行及指定用户启动的方法

1.开机不启动 在实际生产场景中&#xff0c;我们喜欢在安装了一些软件服务后&#xff0c;将软件设置为开机自启动 配置在/etc/rc.local文件中。直接将软件服务的启动命令写在rc.local文件 注意&#xff1a;编辑完rc.local文件后&#xff0c;一定要给rc.local文件执行权限&#…

exit与return的区别 exit(1)、exit(-1)和exit(0)区别

目录 exit(); 是整个程序的结束。 exit(1)、exit(-1)和exit(0)区别 return();是某个函数的结束&#xff0c;并返回结果。 exit和_exit exit(); 是整个程序的结束。 exit&#xff08;0&#xff09;&#xff1a;正常运行程序并退出程序&#xff1b; exit&#xff08;1&am…