简述回源原理和CDN缓存

简述回源原理和CDN缓存,第1张

网上查了下资料,回源大致是指浏览器在发送请求报文时,响应该请求报文的是源站点的服务器,而不是各节点上的缓存服务器,那么这个过程相对于通过各节点上的缓存服务器来响应的话就称作为回源。回源的请求或流量太多的话,有可能会让源站点的服务器承载着过大的访问压力,进而影响服务的正常访问。

其实回源比和缓存的命中率正好相反,回源比高,说明缓存系统的缓存命中率低。回源比分为回源请求数比例和回源流量比例两种。
回源请求数比例 :收集所有边缘节点上的请求记录,没有缓存或缓存过期的请求以及不可缓存的请求均被作为回源请求,发往源站点服务器响应。其他的请求则由缓存系统直接使用缓存响应。其计算公式为: 回源请求数/(回源请求数+用户发送的请求数) 。
回源流量比 :即用户所产生的流量当中,有多少流量是直接有源站点服务器响应的,其计算公式为: 回源流量/(回源流量+用户请求访问的流量)

CDN,即Content Delivery Network,内容分发网络,其搭建的思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,尽量使内容传输的更快更稳定。CDN通过在网络边缘部署边缘服务器,依靠CDN中心平台的负载均衡、内容分发及调度等功能,使用户就近获取所需的内容,降低网络拥堵,提高用户访问响应速度和命中率。所以基本上CDN就是广泛采用各种缓存服务器,使得用户的请求直接由这些缓存服务器响应,加快了响应速度;只有在用户请求的资源在缓存服务器上没有找到或者请求访问的资源在源站点服务器上已经修改过的情况下,缓存服务器才会去访问源站点服务器以获取最新的资源。
下图为常见的CDN架构:

在CDN环境下,web访问数据通常会经历客户端本地缓存和CDN边缘节点缓存两个阶段。如果这两个阶段均无法响应客户的请求的话,那么最后会由CDN节点向源站点发起回源请求,进而从源站点获取最新的数据,更新CDN节点的本地缓存,最后将最新的数据返回给客户端。
CDN节点的缓存机制也是遵循>

提前下载后储存在本地硬盘中

缓存的最根本的目的是为了提高网站性能,减轻频繁访问数据而给数据库带来的压力再进一步,合理的缓存了某种数据形式,还会减轻程序运算时,对CPU带来的压力首先,我们要知道一个最基本的效率规则, *** 作内存中的数据比 *** 作存放在硬盘上的数据是要快N个数量级的 *** 作简单的文本结构的数据比 *** 作数据库中的数据快N个数量级

目前缓存的做法分为两种模式:


第一种模式是内存缓存,缓存数据存放在服务器的内存空间中,这种模式的效率是最高的这里要注意的是:每一个服务器的资源都是有限的,盲目的把所有数据都加在到内存中,将可能会导致服务器资源占用过多,而造成Web服务失败


第二种模式就是文件缓存,缓存数据存放在服务器的硬盘空间中存放格式有很多种类,如:文本格式,XML格式,二进制格式等等这里要注意的是,服务器I/O的处理能力有限,当一次性读取过大数据时(>1M),它并没有想象中那么的高效这个时候就需要你有一个合理的文件结构来解决了但这已经不在我们本次要讲叙的内容范围内了

怎样正确设置缓存


用户无论使用的是哪一种浏览器,正确地设置浏览器的缓存参数将大大提高你的浏览效率,同时也将一定程度上改善你的浏览器的工作性能;但是如果使用不恰当,设置不正确那不但不会提高你的工作效率,反而还能降低计算机的运行速度。不同的浏览器有不同的设置方法:


A、IE40浏览器设置缓存大小的方法如下:


1、首先打开浏览器的 *** 作窗口,然后用鼠标淡季“查看”菜单中的“Internet选项”,程序会打开一个选项对话框。


2、在选项对话框中找到“INTERNET 临时文件”栏,并用鼠标单击该栏右边的“设置”按钮,同样地程序也会打开一个设置框。


3、在设置框中,用户可以直接用鼠标来移动滑动杆即可改变缓存的大小。


4、参数设置好后,单击“应用”按钮使上述设置生效,最后单击“确定”按钮,退出参数设置对话框。


B、IE50浏览器设置缓存大小的方法如下:


1、打开IE50 *** 作窗口,在窗口中用鼠标单击“工具”菜单中的“Internet选项”,屏幕上将出现“Internet选项”对话框。


2、在选项对话框中,单击“常规”标签下的“Internet临时文件”设置栏,并用鼠标单击该栏中的“设置”按钮,程序将会打开一个标题为“设置”的对话框;当然,IE40以上版本的浏览器带有自动清除磁盘缓存的功能,如果用户想在这里节省硬盘的空间,也可以按“删除文件”按钮,来释放出更多的缓存空间,这种删除缓存内容的方式比较彻底。


3、在“设置”对话框上面有四个单选项:


“每次访问此页时检查”单选项表示浏览器将发送一个信息给所要访问的页面的WEB服务器,查问当前访问的信息是否有变动,如没有变动,就从硬盘缓存中直接调用,而且每次访问都要发送信息给WEB服务器进行验证。


“每次启动INTERNET EXPLORER时检查”表示本次上网浏览器将只发送一次信息给WEB服务器进行验证,以后无论信息是否发生变动,都从硬盘缓存中直接调用所要访问的页面的信息。


“自动”单选项表示浏览器将自动检查所要访问的信息最新是否发生变动,如果变动的话,就从INTERNET上重新下载网页,如果没有变动的话,就直接从硬盘中读取数据。


“不检查”单选项表示对要调用的页面信息不进行校验,只要硬盘硬盘上有,就直接从硬盘中调用。弄清楚了上面四个选项后,用户可以根据自己的实际情况进行设定,浏览器默认选择“自动”这一单选项。


4、接着用户可以在“使用的磁盘空间处”用鼠标直接拖动滑动杆来改变缓存的大小,或者直接在后面的文本框中输入具体的数值。如果用户想改变浏览器缓存的位置,例如用户的C盘空间紧张时或者为了使用方便,用户需要把缓存移到其它分区或者把缓存放到一个易 *** 作的地方,这时就可以通过另外选择一个文件夹来作为缓存,在这里用户只要按下“移动文件夹”并指定要新建的文件夹名称就行了。


5、同样地,参数设置好后,单击“应用”按钮使上述设置生效,最后单击“确定”按钮,退出选项对话框。

1webcache的简单介绍

 web缓存,是一种 缓存技术 ,用于临时存储(缓存)的网页文件,如HTML页面和图像等静态资源,减少带宽以及后端服务器的压力,通常一个WebCache也是一个 反向代理软件 ,既可以通过缓存响应用户的请求,当本地没有缓存时,可以代理用户请求至后端主机。

WebCache分为正向和反向之分,一般正向WebCache不常用,这次主要以反向WebCache为主。

2webcache的由来

 1)由于程序具有局部性,而局部性分为: 时间局部性和空间局部性

A时间局部性是指:在单位时间内,大部分用户访问的数据只是热点数据(热点数据指经常被访问的数据)

B空间局部性是指:某新闻网站突然出来一个重大新闻,此新闻会被被反复访问。

3webcache的变化性

  WebCache的新鲜度监测机制 :数据都是可变的,所以缓存中的内容要做新鲜度检测

4缓存相关的>可以
定义:原始意义是指访问速度比一般随机存取存储器(RAM)快的一种高速存储器,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。缓存的设置是所有现代计算机系统发挥高性能的重要因素之一。
原理:缓存的工作原理是当CPU要读取一个数据时,首先从CPU缓存中查找,找到就立即读取并送给CPU处理;没有找到,就从速率相对较慢的内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。正是这样的读取机制使CPU读取缓存的命中率非常高(大多数CPU可达90%左右),也就是说CPU下一次要读取的数据90%都在CPU缓存中,只有大约10%需要从内存读取。这大大节省了CPU直接读取内存的时间,也使CPU读取数据时基本无需等待。总的来说,CPU读取数据的顺序是先缓存后内存。
2 web缓存
扯了这么多,其实web缓存的产生和原理跟上面一样一样的:客户端浏览器在显示一个完整网页前,需要去服务器获取一些必要的数据(js,css,image等),因为浏览器的数据处理和渲染速度很快,而通过网络传输的方式去服务器取数据的过程却很慢(虽然现在网速还算比较快,下载1M的文件都用不了1s,但相较于处理器,这就非常慢了),所以页面显示出来前都有一段时间的白屏,如果每次打开相同的页面,获取相同的资源都要等待一段时间的白屏,作为用户,岂能忍。如果把已经获取过的资源存在本地,下次用的时候就不用从服务器去取了,这样速度就要快很多了。这种机制便是web缓存。
其实web缓存的优点还有很多: - 减轻服务器压力 - 减少数据传输,节省网络带宽和流量 - 缩短页面加载时间,提升用户体验
二、web缓存分类
了解了缓存的由来和原理,下面针对web缓存(以下统一简称缓存)具体介绍一下。缓存是一个抽象的代名词,用以提高访问效率而临时存储副本的机制都可以称之为缓存。我们常说的缓存,根据资源存放位置、具体用途和运行机制不同,一般可以分为:
数据库缓存
服务器缓存
客户端缓存


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10596045.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存