欢迎访问!

Office学习网

您现在的位置是:主页 > 网络技术

网络技术

CDN优化实战:从命中率30%到95%的血泪史,AWS Clo

发布时间:2026-06-22网络技术评论
文章浏览阅读753次,点赞3次,收藏7次。CDN优化经验分享 文章分享了提升CDN命中率的实用经验,主要包含三个部分:

正常情况下回源率应该控制在10%以下,要结合业务特点制定合适的缓存策略, 常见问题排查 做CDN优化经常会遇到各种问题分享几个排查思路, LambdaEdge 这个功能很强大可以在CDN边缘节点运行代码,我之前就遇到过这种情况CDN命中率只有30%多简直是在烧钱, 我遇到过一个奇葩问题开发在图片URL后面加了随机数防止缓存结果CDN命中率为0, png, gif等)支持不同的图像格式 不缓存非图像内容不保留大多数请求头 图像密集型网站图片库电商产品展示 Amplify-ImageOptimization-V2 与ImageOptimization类似增加了WebP等现代格式支持 与ImageOptimization类似 需要现代图像格式支持的应用 Amplify-StaticContent 缓存JS,比如某些地区的节点质量不好可以通过地理位置限制来避免使用这些节点,我见过有人把图片的TTL设置成5分钟这不是瞎搞吗静态资源的TTL至少要设置几个小时甚至几天。

后来改成用版本号问题就解决了, 缓存穿透 如果某个资源一直无法缓存可能是URL参数或者响应头有问题。

检查是不是有随机参数或者源站返回了no-cache头,这样用户体验会好很多而且可以减少无效的回源请求。

让我们一起在运维这条路上互相学习共同进步 公众号运维躬行录 个人博客躬行笔记 , immutable;} 预热不充分 新上线的CDN或者清除缓存后需要一段时间来预热, 在AWS CloudFront里查看命中率很简单进入CloudFront控制台选择你的分发然后点击Monitoring标签页。

比如说有些动态参数会导致URL不同CDN就认为是不同的资源, 我记得有次优化一个电商网站发现图片加载特别慢。

TTL设置太短 Time To Live设置太短会导致缓存频繁过期。

然后检查CloudFront的Behavior配置确认TTL设置正确。

AWS CloudFront 响应标头策略详细说明 策略名称添加/修改内容不添加/不修改内容使用场景 CORS-and-SecurityHeadersPolicy 添加CORS相关标头和安全标头到响应中 不修改源站提供的其他标头 需要同时支持跨域请求和增强安全性的Web应用如需要跨域访问的API且需要防XSS、点击劫持等安全保护 CORS-With-Preflight 添加CORS相关标头并支持预检(OPTIONS)请求 不添加安全标头不修改源站提供的其他标头 需要支持复杂跨域请求的场景特别是涉及非简单请求(如带自定义标头或使用PUT/DELETE方法)的API CORS-with-preflight-and-SecurityHeadersPolicy 添加CORS相关标头(含预检支持)和安全标头 不修改源站提供的其他标头 需要全面CORS支持(包括复杂请求)和安全增强的Web应用如SPA(单页应用)与后端API交互 SecurityHeadersPolicy 仅添加安全相关标头到每个响应 不添加CORS标头不修改源站提供的其他标头 注重安全性但不需要跨域支持的网站如企业内部应用或对安全有高要求的公共网站 SimpleCORS 仅添加基本CORS标头支持简单跨域请求 不添加安全标头不支持预检请求不修改源站提供的其他标头 只需基本跨域支持的简单场景如只允许GET请求的公共API或静态资源 这些响应标头策略控制CloudFront如何修改从源站返回给客户端的HTTP响应标头, callback ) { const request event . Records [ 0 ] . cf . request ; const headers request . headers ; const accept headers . accept headers . accept [ 0 ] headers . accept [ 0 ] . value ; if ( accept accept . includes ( image/webp ) ) { request . uri request . uri . replace ( / \.(jpg|jpeg|png)$ / i 。

CloudFront支持手动预热可以通过Invalidation功能清除缓存然后用脚本批量访问重要资源来预热缓存, AWS CloudFront的一些实用技巧 用了这么久CloudFront发现了一些比较实用的技巧,安全标头通常包括内容安全策略(CSP)、X-XSS-Protection、X-Frame-Options等用于防止常见的Web安全威胁, 先说说CDN的那些关键指标 做CDN优化你得先知道怎么看数据,用不同地区的VPS测试访问速度确定是哪些地区有问题。

HTTP/2的多路复用特性可以显著提升页面加载速度特别是对于有很多小文件的网站,虽然前期折腾了不少时间但效果还是很明显的,很多人以为接入个CDN就万事大吉了结果发现命中率低得可怜钱花了不少效果却不明显,这块水还是挺深的大家一起学习进步,对于回源比较频繁的场景很有用可以减少源站压力,用户行为会变化业务需求也会变化CDN策略也要跟着调整。

CloudWatch监控 CloudFront的所有指标都会推送到CloudWatch可以设置各种告警 命中率低于阈值告警 错误率超过阈值告警 回源延迟过高告警 带宽使用异常告警 我一般会设置这些告警规则 命中率 85% 持续10分钟 - 发送告警4xx错误率 5% 持续5分钟 - 发送告警 5xx错误率 1% 持续5分钟 - 发送告警回源延迟 2秒 持续5分钟 - 发送告警 第三方监控工具 除了CloudWatch我还会用一些第三方工具来监控CDN性能比如Pingdom、GTmetrix等。

广告位

热心评论

评论列表