前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >用好CDN

用好CDN

原创
作者头像
陈志杰
发布于 2020-11-08 13:48:09
发布于 2020-11-08 13:48:09
11K0
举报
文章被收录于专栏:MySpecialColumnMySpecialColumn

前言

当你的网站或者APP访问量日渐增多,用户体验却持续下降,服务器性能严重不足的时候,选择接入CDN是大多数情况要必须做的,当你在众多CDN厂商中好不容易选择了一家(不知怎么选择,可以闭眼选择腾讯云CDN🙂),进行配置的时候,不要简单的认为按照入门文档配置完就觉得万事大吉了。很多案例证明,接入CDN只是一小步,后面出现的各种问题,会让你抓狂。下面我们就来讲讲如何用好CDN,让它发挥出最佳效能。以下涉及到的CDN事项,将以腾讯云CDN作为案例。

Step1. 资源划分

如果网站资源没有之前没有针对文件属性进行过划分,建议进行一下初步的分析,确定资源属性归类,比如静态小文件(css、js、jpg等)、视频文件(mp4、avi等)、程序安装包(apk等)、动态资源(api、php等)等,采用不同的域名承载。这里不要嫌麻烦,所有资源使用一个域名承载,风险较大,也不利于性能优化及项目管理。域名拆分之后,接入CDN之前,你或许还需要准备证书,如果条件允许,准备一个泛域名证书会方便很多。证书的申请和购买可以参考:https://cloud.tencent.com/document/product/400/7995

Step2. 功能梳理

有些访问资源,可能需要一些额外的配置,比如防盗链、特殊Header配置、远程鉴权、302跳转等特性,在配置CDN之前,梳理清楚,按照前述域名规划,一一对应好,记录下来。这些功能需要你进行前置到CDN来完成,遗漏这些,将会带来一些不必要的麻烦。

Step3. 源站准备

源站是CDN在缓存失效或者没有文件时获取资源的地方,方便期间,可以把当前的web服务器作为CDN的源站,注意要根据业务的增长规模,适当进行扩容。此外,源站的出口要具备多ISP出口,降低潜在的CDN回源性能不佳问题,另外,建议设置主源和备源,一方面是数据备份容灾需求,另一方面,降低因为回主源失效导致的CDN访问失败。

如果网站需要存储的文件非常多,自己搭建文件服务器成本较大,可以采用云存储作为源站。对象存储(Cloud Object Storage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,用户可通过网络随时存储和查看数据。腾讯云 COS 使所有用户都能使用具备高扩展性、低成本、可靠和安全的数据存储服务。CDN+COS是一种文件存储和分发的高优方案。

Step4. 配置实践

具体到配置,对于新手完全可以参考指引文档,比如腾讯云CDN《从零开始配置CDN》。在此我们不再累述,本小节我们重点介绍几个最佳实践的参数配置。在接入域名配置的首选中,要注意的是,需要根据功能梳理的域名情况,选择正确的业务类型. 这关系到你的域名会被分配到合适的加速平台,一般来说CDN厂商针对小文件、下载、流媒体点播会有不同的平台和优化参数。如果选择错了,虽然不会导致业务访问失败,但却会对访问质量有一定的影响。

选择正确的业务类型
选择正确的业务类型

如果是静态小文件(css、js、jpg等),请选择静态加速;大文件,下载分发类域名,选择下载加速;视频相关选择流媒体点播加速。 到这里,你就会明白,为啥Step1会建议进行资源划分了。

继续配置,就会涉及到缓存配置,这里虽然是选填,后期也可以在域名管理中进行修改,建议提前规划好。

缓存配置
缓存配置

如果是大文件和点播类型,建议打开分片回源,静态小文件就没有必要,分片回源可大大提高大文件的命中率和分发效果。另外,如果业务URL中携带的querystring等参数,跟文件内容无关而且参数经常变化,即参数变化,并不代表文件有变化,强烈建议开启过滤参数,这会大大提高缓存命中率,提高访问质量。至于,缓存时间,这里按照业务需求即可,文件更新不是同名情况,可以设置久一些。另外,需要注意,需要缓存的文件,源站返回的cache-control header一定不要是no-cache 、 no-store 或 private,此时平台策略都是不缓存的。可以参考:https://cloud.tencent.com/document/product/228/41534

另外,通过域名管理界面,在回源配置项目中,还可以设置:

回源跟随-开启后,针对源站返回的301、302进行Follow获取资源缓存。

回源超时—可以调整回源连接和读取的超时时间,针对某些情况源站响应慢的场景,调大后,可大大缓解回源失败。

第三个,建议使用的选项是配置热备源站。注意下面说到的所有优化选项,都需要在添加完域名后,进入域名管理页进行操作。

配置热备源
配置热备源

备源存在的重要意义,是当CDN需要回源,连接主站失败或者主站故障时,虽然连接主站会有多次重试,但是备源会在主源失效时立刻被启用,不会造成这一次请求失败,对用户无感。

第四,当前HTTPS是必不可少的功能,建议在配置好域名后,把HTTP2以及OCSP开个打开:

•HTTP2.0—开启后,支持http2,建议WEB页面开启,优化页面速度。当前主流浏览器都已经支持,也是一种主流趋势。

OCSP装订—OCSP(Online Certificate Status Protocol,在线证书状态协议)是用来检验证书合法性的在线查询服务,一般由证书所属 CA 提供。某些客户端会在 TLS 握手阶段进一步协商时,实时查询 OCSP 接口,并在获得结果前阻塞后续流程。OCSP 查询本质是一次完整的 HTTP 请求 - 响应,这中间 DNS 查询、建立 TCP、服务端处理等环节都可能耗费很长时间,导致最终建立 TLS 连接时间变得更长。建议开启,开启后,极大优化TLS握手时间。另外,针对一些签发的比较低端或者免费的证书(比如:Let's Encrypt),当证书分配的ocsp地址是海外,没有在大陆加速的情况,可以大大缓解apple系统访问失败的情况——证书ocsp地址查看:openssl x509 -noout -ocsp_uri -in xx.pem 或者浏览器里面打开:

证书ocsp地址
证书ocsp地址

如果这个ocsp域名解析都在海外,那随时可能会被墙,导致ios打不开资源,因为IOS系统的证书校验策略依赖这个方式。其他系统很少遇到,他们有使用另外的证书检查机制。

最后一个想给大家推荐的选项是 智能压缩,这个静态资源,一定要打开,减少流量,加快传输速度。压缩的好处不再多说。

智能压缩
智能压缩

Step5. 切换解析

以上工作做完,域名各项配置完成后,CDN会分配一个CNAME地址给你,需要你将加速域名DNS解析指向这个CNAME地址,你才能真正的使用CDN服务。可以参考CNAME配置《指引》。 这里给大家的建议是,如果条件允许,且是线上业务流量正在跑,不要ALL IN切换,采取分地区灰度的策略。先切一两个地区到CDN上,看看服务有没有问题或者用户反馈后再全量。这里难点是域名的权威解析服务器具备分线路解析功能。具备多线路解析功能的好处还有,你可以同时使用多家CDN厂商来服务,按地区分配流量,某一家故障时,可切到其他CDN进行快速恢复。 如果想体验多线路解析功能,推荐DNSPOD解析服务:https://cloud.tencent.com/product/cns

Step6. 数据分析

当服务在CDN上面运行起来后,不要走开,你要关注流量、带宽以及命中率情况,以便进行及时的调整,提出建议或者改进给CDN厂商,获取最佳收益。通过控制台的统计分析功能,你可以实时获取各项指标。以及根据这些数据配置一些必要的监控。比如关注TOP用户访问地区,针对这些地区的访问进行质量探测对比,看看是不是本地覆盖等等。数据分析利用是一个长期的事情。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
关于接入CDN的一些实用策略
前言 当你的网站或者APP访问量日渐增多,用户体验却持续下降,服务器性能严重不足的时候,选择接入CDN是大多数情况要必须做的,当你在众多CDN厂商中好不容易选择了一家(不知怎么选择,可以闭眼选择腾讯云CDN🙂),进行配置的时候,不要简单的认为按照入门文档配置完就觉得万事大吉了。很多案例证明,接入CDN只是一小步,后面出现的各种问题,会让你抓狂。下面我们就来讲讲如何用好CDN,让它发挥出最佳效能。以下涉及到的CDN事项,将以腾讯云CDN作为案例,仅供参考。 Step1. 资源划分
陈志杰
2020/11/12
2.2K0
关于接入CDN的一些实用策略
玩转腾讯云CDN
加速区域选择为中国境内或全球时,需要先完成 ICP 备案,若您的域名尚未完成 ICP 备案,您可以使用腾讯云网站备案。
杜志强
2021/07/25
11.1K0
玩转腾讯云CDN
如何快速实现内容分发网络切换到腾讯云CDN
内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免网络拥堵、地域、运营商等因素带来的访问延迟问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
Charlie Huston
2020/05/14
7K0
如何快速实现内容分发网络切换到腾讯云CDN
站点使用cdn配置
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。(来自百度百科)
ianzhi
2019/07/31
2.3K0
站点使用cdn配置
CDN的那些事
前段时间,群友的cdn被刷爆了,这就引起了我的恐慌,我大概接入了3个域名和一个cos,要刷的话,可能会倾家荡产,国内的cdn比较便宜但是没有防护,国外的就比较贵,节点少,开了等于没开,但是他们是有防护的,盗刷应该不会这么严重,腾讯云其实也有一个类似的功能产品,scdn,有个问题,太贵啦,当时年少不懂事,测试给我花了30块,应该可以想象价格的高昂了吧。这次针对cdn的某些设置进行了一点点的优化,至少在你的网站被cc或者ddos时,自动关闭cdn,避免高昂的费用。
wresource
2023/01/31
3.3K1
CDN的那些事
前段时间,群友的cdn被刷爆了,这就引起了我的恐慌,我大概接入了3个域名和一个cos,要刷的话,可能会倾家荡产,国内的cdn比较便宜但是没有防护,国外的就比较贵,节点少,开了等于没开,但是他们是有防护的,盗刷应该不会这么严重,腾讯云其实也有一个类似的功能产品,scdn,有个问题,太贵啦,当时年少不懂事,测试给我花了30块,应该可以想象价格的高昂了吧。这次针对cdn的某些设置进行了一点点的优化,至少在你的网站被cc或者ddos时,自动关闭cdn,避免高昂的费用。
wresource
2023/01/22
2.9K1
CDN的那些事
【CDN】使用腾讯云CDN加快网站访问速度并防御恶意攻击
在CDN流量包购买界面根据具体需求选购流量包(图1-1)。选择“有效期规格”、“流量规格”和“适合区域”,点击“立即购买”即可完成购买操作。
xiaoeyv
2022/06/18
7.2K0
CDN原理以及如何部署 CDN 网络
内容分发网络(Content Delivery Network),是在现有 Internet 中增加的一层新的网络架构,由遍布全国的高性能加速节点构成。这些高性能的服务节点都会按照一定的缓存策略存储您的业务内容,当您的用户向您的某一业务内容发起请求时,请求会被调度至最接近用户的服务节点,直接由服务节点快速响应,有效降低用户访问延迟,提升可用性。虽然距离并不是绝对因素,但这么做可以尽可能提高性能,用户将会觉得比较顺畅。这使得一些比较高带宽的应用(传输高清画质的视频)更容易推动。内容分发网络另外一个好处在于有异地备援。当某个服务器故障时,系统将会调用其他邻近地区的服务器服务,进而提供接近100%的可靠度。
聚优云惠
2019/10/18
9K0
我的个人博客启用CDN啦
用户 -> 域名 -> CDN -> DNS -> 腾讯云主机外网IP -> 腾讯云主机内网IP -> Docker SDN端口映射(443指向docker的443, 80之下那个docker的80) -> Docker的NGINX容器的 80和443端口
东风微鸣
2022/04/21
2.9K0
我的个人博客启用CDN啦
CDN配置方式(以腾讯云为例)
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
何叶
2021/08/20
2.2K0
CDN配置方式(以腾讯云为例)
如何将 Discuz! Q 站点接入腾讯云 CDN ,加速站点访问
已成功 安装部署 Discuz! Q 站点 (opens new window)。
佛系豪豪吖
2023/02/23
6.4K0
如何将 Discuz! Q 站点接入腾讯云 CDN ,加速站点访问
腾讯云 COS + CDN 产品使用分享
作为腾讯云的老用户(2016 年注册),使用时间最长的产品就要数 CVM、COS 和 CDN 等了
远哥制造
2022/06/30
43.2K0
腾讯云 COS + CDN 产品使用分享
CDN系列学习文章(十)——业务接入CDN,需要注意什么
这个系列学习也要收尾了,先简单做一个小结。这个系列初衷让小伙伴更好的理解CDN业务逻辑,对其知其然,知其所以然。这个系列涵盖CDN常见原理、功能和常见问题。如果小伙伴对一下内容有些生疏,可以回顾之前章节。
开元
2019/06/27
9.2K0
CDN系列学习文章(十)——业务接入CDN,需要注意什么
如何部署 CDN 网络
内容分发网络(Content Delivery Network),是在现有 Internet 中增加的一层新的网络架构,由遍布全国的高性能加速节点构成。这些高性能的服务节点都会按照一定的缓存策略存储您的业务内容,当您的用户向您的某一业务内容发起请求时,请求会被调度至最接近用户的服务节点,直接由服务节点快速响应,有效降低用户访问延迟,提升可用性。虽然距离并不是绝对因素,但这么做可以尽可能提高性能,用户将会觉得比较顺畅。这使得一些比较高带宽的应用(传输高清画质的视频)更容易推动。内容分发网络另外一个好处在于有异地备援。当某个服务器故障时,系统将会调用其他邻近地区的服务器服务,进而提供接近100%的可靠度。
百鬼夜行
2018/10/25
16.1K3
如何部署 CDN 网络
存储分发加速解决方案
CDN 和对象存储是经常被组合使用的一对云服务,用户可选择使用单一云厂商的组合服务,也可以选择多个云厂商的组合服务。本文对 CDN - 对象存储组合服务的单一云厂商模型和多家云厂商模型的成本构成进行了对比分析,并详细介绍了腾讯云 CDN 加速对象存储 COS 的实例。
Charlie Huston
2020/06/04
6.8K0
存储分发加速解决方案
如何配置cdn且如何防止被刷流量教程
想必大家都对这东西并不陌生,很多朋友配置完cdn,网站不能正常访问,遭受cc攻击导致流量被刷什么的,然后在群里求助还没回,这种心情我深有体会。今天我来出一期cdn配置的教程,都是我一次一次试出来的。
小狐狸说事
2022/11/18
4.7K0
如何配置cdn且如何防止被刷流量教程
使用腾讯云 CDN 与腾讯云 COS 服务托管静态网站
注:本文以国内的 COS 存储桶为例,请准备好一个已经备案了的域名,否则将无法自定义域名以及无法使用腾讯云 CDN 服务
猫猫摸大鱼
2022/06/19
26.9K1
使用腾讯云 CDN 与腾讯云 COS 服务托管静态网站
踩过CDN大小十类坑
干云服务这些年,服务过各类大客户,也遇到过各类问题,今天就简单总结记录一些,希望对大家有一定帮助。由于知识面有限,有些地方难免不周,也欢迎大家指正!
Ching云服务杂论
2020/05/08
5.3K0
怎么一行代码都不写,就能给网站加速?
每个开发都会涉及到一个工作,就是网站开发。开发过程势必会涉及到需要对网站加速的部分,很多开发同学对此都很是头疼。
腾讯产业互联网学堂1
2024/01/15
1810
怎么一行代码都不写,就能给网站加速?
腾讯云CDN如何配置使用
何为CDN呢?为什么的网站需要它呢?网站全国各地可能因为延迟访问慢,而CDN是帮助一个网站能够加速打开。CDN全称内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
用户1094633
2022/02/14
16.9K0
相关推荐
关于接入CDN的一些实用策略
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文