• Ukieweb

    佳的博客

    曾梦想仗剑天涯,后来工作忙没去。

CDN 相关基本概念解释

加速域名

加速域名即您需要使用CDN加速的域名。譬如我的网站 www.xiewo.net  想使用 cdn 加速,那么我的加速域名就是:www.xiewo.net

加速的业务类型

一般供应商会根据加速内容分为不同的加速类型,每个供应商的类型也可以不同,但是基本的大同小异。我们这里以阿里云的分类来介绍

  • 图片小文件:若您网站的加速内容多为小型的静态资源 (如小文件、图片、网页样式文件等),

  • 大文件下载  :若您的加速内容为较大的文件(大于20MB的静态文件),例如游戏安装包、应用更新、手机ROM升级、应用程序包下载等场景,推荐选择大文件下载业务类型。

  • 视频点播加速:若您需要加速音频或视频文件,例如音乐、视频的点播业务场景,推荐使用视音频点播业务类型。

源站

可以理解为CDN数据源,您实际业务的服务器。可以是你业务服务器的 IP 地址,或者是另一个域名(注意这个域名不能和加速域名相同)

回源

回源就是当有用户访问某一个URL的时候,如果被解析到的那个CDN节点没有缓存响应的内容,或者是缓存已经到期,就会回到源站去获取。如果没有人访问,那么CDN节点不会主动去源站拿的。

回源host

回源host是用于CDN回源到源站时的访问域名,即http请求包包头的host字段内容

例子1:源站是域名

  • 源站为www.a.com 回源host为www.b.com

  • 那么实际回源是请求到www.a.com解析到的IP,对应的主机上的站点www.b.com

例子2:源站是IP

  • 源站为1.1.1.1 回源host为www.b.com

  • 那么实际回源的是1.1.1.1对应的主机上的 站点www.b.com

源站与回源 HOST:源站配置的 IP/域名能够指引 CDN 节点回源时找到对应的源站服务器(服务器ip地址),服务器上可能存在若干 Web 站点,回源 HOST 指明了资源所在的站点。

过滤参数(会影响回源)

借助过滤参数开关,您可以根据实际业务需要,决定在缓存时是否过滤用户请求URL中 之后的参数

CDN厂商在设置缓存的时候对于 Key 有两种策略:一种是按照文件名,将问号后面的参数去掉。另外一种是将所有的参数作为缓存Key的一部分。 然而,CDN默认为第二种,当然自己可以定义地。

Range 回源

开启 Range 回源配置能够有效提高大文件分发效率,提升响应速度。源站需要支持 Range 请求,否则会导致回源失败。对于大文件的下载,最好启用这个参数。大文件的定义就是你资源大小/带宽的传输时间,时间越大就可以说文件越大。

  • 开启range回源

用户 A 请求资源: http://www.test.com/test.apk,节点收到请求后,发现缓存的test.apk文件已过期,此时发起回源请求,节点回源使用 Range 请求,分片获取资源并缓存。若此时用户乙发起的也为 Range 请求,当节点上存储的分片已满足 Range 中指定的字节段,则会直接返回给用户,无需等所有分片获取完毕

  • 不开启range回源

用户 A 请求资源: http://www.test.com/test.apk,节点收到请求后,发现缓存的test.apk文件已过期,此时发起回源请求,节点会直接向源站获取整个资源,待完整获取资源后再返回给用户

协议回源

指回源时使用的协议和客户端访问资源时的协议保持一致,即如果客户端使用HTTPS方式请求资源,当CDN节点上未缓存该资源时,节点会使用相同的HTTPS方式回源获取资源。同理,如果客户端使用HTTP协议的请求,CDN节点回源时也使用HTTP协议。

命中率

CDN命中率就成了评价一个CDN设置好坏的关键因素。CDN命中率是指用户访问的时候,命中缓存的概率。

用户访问一个使用了CDN的网站,请求会被解析到CDN节点。此时如果该CDN节点上已经缓存了用户要请求的内容,则直接CDN节点直接返回,无需再去源站取数据(这样就算命中缓存)。如果该CDN节点上没有缓存相应的内容,则会立即去源站获取,然后再返回给访问者,同时把内容缓存在该节点上(这样就没有命中缓存)。

CDN命中率又细分为CDN请求命中率和CDN字节命中率。CDN请求命中率是指一个时间段内所有请求命中缓存的概率。字节命中率是指一个时间请求的字节数命中缓存的概率。

一般一个充分优化设置的CDN,命中率能达到50-100%。影响CDN命中率的因素很多,主要看网站的类型。如果一个纯静态的网站,CDN缓存命中率会在90%以上。如果是动态内容的网站,因为只有图片、js、css等内容能够缓存,此时CDN命中率就会略低。

刷新url 、刷新目录、 预热

  • 刷新功能是指提交URL刷新或目录刷新请求后,CDN节点的缓存内容将会被强制过期,当您向CDN节点请求资源时,CDN会直接回源站获取对应的资源返回给您,并将其缓存。刷新功能会降低缓存命中率

  • 预热功能是指提交URL预热请求后,源站将会主动将对应的资源缓存到CDN节点,当您首次请求时,就能直接从CDN节点缓存中获取到最新的请求资源,无需再回源站获取。预热功能会提高缓存命中率

所以一般情况下,只有预热url没有预热目录,因为cdn不可能知道目录下内容。

资源热度

当访问量减少,热度较低之后,CDN节点对于资源的缓存时间根据热度的策略,而进行资源保存的时间不同。

意思是如果资源访问量少,热度太低,那么cdn会自动删除你缓存的内容。你无法控制。

后来了解到这个霸王条款阿里云同样存在,我想是为了cdn资源的利用吧。所以如果你网站的访问量不大,其实cdn发挥的作用很有限。


0
0
下一篇:腾讯cdn设置及其注意事项

0 条评论

老佳啊

85后,大专学历,中原人士,家里没矿。

由于年轻时长的比较帅气,导致在别人眼里,我一直不谈恋爱的原因是清高,实则是自己的小自卑。最大的人生目标就是找一个相知相爱相容的人,共度余生。

和人相处时如果能感受到真诚,会非常注重彼此的关系,对别人没有什么心机,即使有利益冲突,一般也会以和为贵,因为在这个世界上,物质的东西,从来不会吸引到我。

特别迷恋那些大山大水,如果现在还能隐居,可能早就去了。对那些宏伟的有底蕴的人文景观比较不感冒。

从事于IT行业,却一直对厨房念念不忘,由于身材魁梧,总觉得自己上辈子是个将军,可惜这辈子没当兵,也不会打架。