CDN缓存命中率较低可能的原因

背景: 

网站使用CDN加速以后,大部分静态文件都将会被离用户较近的CDN边缘节点缓存,由此起到访问加速效果。如果用户访问的文件由CDN节点直接响应,无需回源,则称之为缓存命中。CDN缓存命中率越高,也就意味着加速效果越好,相应的回源量也会极大减少。

天翼云CDN控制台上【统计分析】模块,可以看到缓存流量命中率和请求命中率数据。缓存命中的流量除以总流量称之为流量命中率,缓存命中的请求数除以总请求数称之为请求命中率。只要在CDN边缘节点,或是在中间节点命中,均统计为缓存命中(CDN用户请求流向为:用户客户端->CDN边缘节点->CDN中间节点->源站)。如果命中率低,则较多用户的请求都会从CDN节点回源,不仅访问效果不佳,还会给源站造成较大压力。本文将介绍产生此类情况的可能原因。

可能原因

  1. 如果域名刚接入天翼云CDN加速,则用户首次访问文件时CDN节点均需要回源获取,此时缓存命中率较低,需要经过一段时间后才能逐步把大部分文件缓存至CDN节点,这个时间往往要经过两三天至一周左右。
  2. 如果域名已接入天翼云CDN较长时间,仍命中率较低,则可排查是否存在如下情况:

 

 

是否用户请求量过低导致

如果域名请求数总量较少,则即使有少量URL未命中,仍会对总体命中率影响较大。例如,5分钟内仅100个URL请求,其中20个是访问同个URL,但因为该URL在CDN设置了不缓存或缓存时间为0(等同于不缓存),导致每次请求都回源,则此时CDN缓存命中率最高不会超过80%。此外,因为CDN节点磁盘缓存空间有限,一般会有基于文件热度淘汰冷文件机制。如果该域名访问的资源热度极低,例如第一次访问后,下次用户访问同个资源是在一周以后,则在此期间该文件可能因为热度过低被淘汰掉,也会导致命中率较低。

是否用户请求确实比较分散,热度较低导致

域名总请求数和访问量居中,但用户请求确实比较分散,即不同地区不同用户访问的内容都不一样,没有太为集中的热点,这种用户访问特性也会导致命中率较低。该情况可以结合CDN控制台上【统计分析】模块的“热门URL”数据来进行确认,例如按天统计的热门URL排名TOP10的访问次数很少,访问占比不到1%,则该域名整体命中率较低是正常情况。

是否因缓存设置不合理导致

CDN控制台上有推荐的缓存规则设置,客户可以基于该规则进行适当调整。如果缓存规则设置不合理,也会导致缓存命中率较低。可以结合CDN控制台上【统计分析】模块中“热门URL(回源)”数据进行确认。例如,回源请求次数排名TOP的URL,是否存在实际是可缓存的,或是否存在加速URL中携带问号后参数但实际指向同个文件,因未设置去问号缓存导致重复回源(详情请见:CDN缓存key携带问号后参数导致缓存命中率低)。如存在上述情况,可通过CDN控制台【域名管理】模块中“缓存配置”-“缓存过期时间设置”进行调整优化,例如将实际可缓存的URL,设置为强制缓存一段时间,或将相应URL设置为去问号缓存。

 

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

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

相关文章

腾讯云开端口

轻量服务器 由于开发者计划,这些腾讯云 阿里云什么的小vps,是非常之便宜,甚至到了白送的地步(小阿),但是作为一个web安全学习者必要的vps操作还是要会的 开启端口 腾讯云的轻量服务器是没有安全组的&…

【服务器02】之阿里云平台

百度一下阿里云官网 点击注册直接使用支付宝注册可以跳过认证 成功登录后,点击产品 点击免费试用 点击勾选 选一个距离最近的 点满GB 注意:一般试用的时用的是【阿里云】,真正做项目时用的是【腾讯云】 现在开始学习使用: 首先…

排序方法——《归并排序》

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。 P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。 博主主页:Yan. yan.                        …

如何使用LangChain自定义agent的制作(1) - 自定义一个可以执行 SQL 查询的 Agent

文章目录 前言一、准备工作梳理一、 安装依赖包二、 设置数据库连接三、 自定义 Agent四、 运行示例五、 完整代码六、使用agent的好处1. **模块化和可重用性**2. **扩展性**3. **简化复杂性**4. **增强可维护性**5. **集成大语言模型的能力**6. **易于扩展到其他任务** 继续思…

Web前端期末项目报告:探索、实践与反思

Web前端期末项目报告:探索、实践与反思 随着Web技术的不断发展,前端开发在软件开发中扮演着越来越重要的角色。本次期末项目,我们致力于构建一个功能完善、用户体验优良的Web应用,以实践所学知识,提升技能水平。接下来…

算法体系-23 第二十三节:暴力递归到动态规划(五)

一 求K次打击之后,英雄把怪兽砍死的概率 1.1 描述 给定3个参数,N,M,K 怪兽有N滴血,等着英雄来砍自己 英雄每一次打击,都会让怪兽流失[0~M]的血量 到底流失多少?每一次在[0~M]上等概率的获得一个…

搭建预约咨询小程序,高效便捷新选择

一、预约咨询小程序是什么? 预约咨询小程序是一款适用于各种生活场景包括医疗、保洁、宠物护理、法律等方面的预约咨询类小程序。 二、这款小程序有什么亮点优势? 预约咨询小程序适用场景广泛,无论是心理咨询、法律咨询,还是宠物…

让图片开口说话的模型Hallo: 基于音频驱动的肖像图像动画,精准唇形同步,支持多种语言和风格

前言 让静态的图片“开口说话”,一直是人们对人工智能的期待。近年来,随着深度学习技术的发展,音频驱动的肖像图像动画技术取得了长足的进步。各种模型涌现,但如何实现精准的唇形同步、保持视频的真实感和流畅性,以及…

变长的时间戳设计

以前的时间戳有32位,以秒为单位,231秒≈68年,从1970年开始,到2038年会出问题。 后来出现的时间戳有64位,以纳秒为单位,263纳秒≈292年。 本次设计的变长时间戳,以32比特为单位,总共…

mysql8.0找不到my.ini

报错问题解释: MySQL 8.0 在Windows系统中通常不需要 my.ini 文件,因为安装程序会在 %PROGRAMDATA%\MySQL\MySQL Server 8.0\ (通常是 C:\ProgramData\MySQL\MySQL Server 8.0\)创建默认的配置文件。如果你的系统中找不到 my.ini…

Qt中利用QTextBrowser控件设计日志窗口

我们一般使用Qt开发应用程序时,都有将控制台窗口去掉。但是,有时候又需要查看一些调试信息,一般的处理方式是把log写到一个文件中。本文介绍一下日志窗口,可以更方便的查看日志信息。 UI设计 推拽UI控件,修改默认背景…

FFmpeg+SDL2实现音视频播放器项目

一、FFmpeg视频解码器 1.视频解码知识 1).纯净的视频解码流程 压缩编码数据->像素数据。 例如解码H.264,就是“H.264码流->YUV”。 2).一般的视频解码流程 视频码流一般存储在一定的封装格式(例如MP4、AVI等)中。封装格式中通常还…

反转链表(java精简版)

反转一个单向链表。 public class ReversingLinkedList {static class Node {int val;Node next;public Node(int val) {this.val val;}public boolean hasNext() {return next ! null;}}public static void main(String[] args) {//构造Node head null;Node shift null;for…

高效电商数据分析:电商爬虫API与大数据技术的融合应用

一、引言 随着电子商务的迅猛发展和数据量的爆炸式增长,电商数据分析已成为企业决策的关键依据。在竞争激烈的电商市场中,如何高效、准确地获取并分析数据,以洞察市场趋势、优化运营策略、提升用户体验,成为电商企业面临的重要挑…

期货止损口诀需牢记

实战操作难免错,心中不必一团火; 出错认输是常事,亏损不止闯大祸。 止损纪律要定死,价格不能差豪丝; 触及止损要出局,管它价格怎放肆。 强势多空价放宽,价格波动要空间; 大势不改…

【数学】什么是傅里叶级数与傅里叶变换?

傅里叶级数与傅里叶变换 背景 傅里叶级数和傅里叶变换是数学和工程领域中的重要工具,特别是在信号处理、图像处理和物理学中。傅里叶级数用于将周期函数表示为正弦和余弦函数的和,而傅里叶变换用于将任意函数表示为频率的函数。 公式 傅里叶级数&…

深度学习(十四)——优化器

前言 反向传播可以求出神经网路中每个需要调节参数的梯度(grad),优化器可以根据梯度进行调整,达到降低整体误差的作用。下面我们对优化器进行介绍。 1. 如何使用优化器 官方文档:torch.optim — PyTorch 2.0 documentation (1)构…

Nexus安卓木马分析报告

概述 2023年3月21日晚上,链安与中睿天下联合研发的监控系统检测到一种新型安卓木马。在经过睿士沙箱系统捕获样本之后,发现该安卓木马极有可能是原安卓网银盗号木马SOVA的变种。与此同时,意大利安全公司Cleafy发布了一篇题为《Nexus&#xf…

JupyterLab使用指南(三):JupyterLab的Cell详细介绍

JupyterLab Cell 使用教程 JupyterLab 的 cell 是一种强大的工具,提供了编写、执行、展示和记录的全方位支持,使得复杂的计算任务变得简单直观。通过熟练掌握 cell 的各种操作和快捷键,用户可以显著提高工作效率,专注于解决实际问…

HNU操作系统2020年期中考试试卷及参考答案

1.(15分) 什么是多道程序技术,它带来了什么好处? 答: 多道程序设计,就是在内存中存放多个进程来执行人们赋予计算机的任务,这些在内存中的多个进程共享计算机的硬件资源,如CPU&…