论文部分内容阅读
摘要:Internet上大量的Web信息访问导致Web访问速度慢、网络阻塞和Web服务器过载。本文从Web缓存方式以及反向代理缓存的目标、性质、工作原理,阐述基于Internet的反向代理缓存技术,为解决Web服务质量下降提供政策建议。
关键词:Web缓存 反向代理缓存 技术创新
本文介绍了基于Internet的代理缓存的目标、性质和工作原理,阐述代理缓存是解决Web访问速度慢、服务器负载重和网络阻塞等问题的关键所在。通过制定评价反向代理缓存系统性能的指标体系,研究分析基于Internet反向代理缓存中出现的问题。
1 Web缓存方式
现在Web缓存分为两种,一种是浏览器缓存,一种是反向代理缓存。
1.1 浏览器缓存
浏览器缓存是把缓存内容存储在本地浏览器,缓存的内容由web服务器生成,省掉了网上缓慢传输的过程,减少对网站的访问,加速了浏览速度,减少所占用的网络带宽。
缺点:一是浏览器之间不能共享缓存数据,缓存数据冗余;二是缓存容量小,存储的网页数量有限。
1.2 反向代理缓存
反向代理缓存是介于Web服务器和代理服务器之间的中间体,代理服务器成为前端服务器(Front_end Server),该Web服务器成为后端服务器(Back_end Server)。反向代理服务器通常安装在1台联接Internet的计算机上,为多个用户提供服务。用户需要访问Web服务器,先与反向代理服务器建立连接,反向代理服务器再与Web服务器建立连接。
反向代理缓存的优点:
①提高访问速度。反向代理服务器缓存可缓冲的数据(如Html网页和图片等),其承担了对原始Web服务器的静态页面的请求,防止外部网主机直接和Web服务器直接通信带来的安全隐患,提高了访问速度,减少了网络流量,减少了用户所消耗的网络带宽和网络阻塞。②可降低Web服务器的负载。在反向代理服务器缓存网页,它能处理所有对Web服务器的请求,增强了Web服务器和Internet的直接通信,防止Web服务器过载,减少了服务器被重复请求的次数,使服务器能够更好地服务新的请求。
2 基于Internet的反向代理缓存技术
2.1 反向代理缓存的目标
反向代理缓存的目标如下[1]:
①加快访问速度,节约通信带宽。反向代理服务器里面缓存用户近期访问的网页,完成前台服务器功能,有效地降低后台服务器被重复请求的频率,节约带宽资源。② 加快请求响应的速度,缩短用户的请求等待时间。客户机向代理服务器发出请求,代理服务器将此请求发送到后台服务器,后台服务器根据请求在缓存中寻找,如果找到(即命中),就直接将缓存副本发给代理服务器,代理服务器将检索到的信息发送给客户机,并将此请求缓存在内存或硬盘中,下次客户机提出同样的请求时,直接从缓存中搜索,而不需再次访问后台服务器,从而加速对用户请求的响应,降低了访问延迟。③防止后台服务器受到攻击。代理服务器接收后台服务器返回的请求消息后,通过修改标头中列出的URL,然后将消息回传给客户机,这样有效避免了外部客户机获取后台服务器的重定向URL,为后台服务器和可能存在的恶意攻击之间提供了一道安全屏障。
2.2 反向代理缓存的性质
代理缓存有以下一些特性[2]:①快速访问。代理缓存系统缩短用户请求访问时间。②缓存加速。③健壮性。第一代理崩溃不会影响整个系统工作;第二单个节点失败,代理缓存系统能自行调整;第三代理缓存系统的设计具备容错纠错能力。④透明性。用户借助该系统能得到快速访问和高可用性的服务。⑤可扩展性。代理缓存系统要适应网络的变化。⑥有效性。代理缓存系统采用充分利用网络资源的方案。⑦适应性。用户请求和网络环境的动态变化要求代理缓存系统要与之相匹配。⑧稳定性。使用代理缓存系统确保网络工作稳定。⑨负载均衡。反向代理可以作为调度器来实现负载均衡系统。⑩处理异质能力。代理缓存系统在不同的环境中满足不同网络结构的需要。
2.3 反向代理缓存的工作原理
反向代理缓存的工作原理[3](如图1所示):①客户机向代理服务器发出需要访问网页地址的请求。②代理服务器根据请求先查找本地缓存,如果符合请求条件,将结果借助Internet回传给客户机。③代理服务器向Web服务器发出客户机访问的网页地址。④Web服务器将网页响应发送给代理服务器。⑤代理服务器将网页响应发给等待的客户机。
根据上述原理,代理服务器要处理的工作有:①在代理缓存中核实客户请求的网页是否过期和修改?②处理后台服务器的响应结果,并判断是否缓存?单个代理服务器容易出现服务瓶颈,Web代理缓存发展到和网络层彼此影响的阶段,通过层次缓存结构以及发展缓存集群,提高扩展性。Web代理缓存系统模型[2]如图2所示。
2.4 代理缓存性能评价指标
性能评价指标包括[3]:
根据网页的命中率是对代理缓存系统的性能进行评价。代理服务器在工作时,如果网页的命中率比较高,那么就说明其直接从代理缓存空间获得网页副本的成功率也就越高,在一定程度上减少了向Web服务器获取网页的次数,Web服务器响应的延迟得到了降低。②字节命中率(Byte Hit Rate,缩写为BHR)。Web是以网页的形式存在的,因此Web是将整个网页进行传输和缓存[5],由于网页大小存在差异,导致代理服务系统命中不同的网页也有所不同,在一定程度上影响了代理缓存系统的性能。对于代理缓存系统来说,其命中率高低与否与传输的信息量没有直接的关系,因为在全部的命中里,小网页的命中占绝大部分。实践证明,在访问多媒体等信息量比较大的网页时,用户渴望大网页能够在代理缓存系统中进行缓存,进而减少对网络带宽的消耗,降低延迟。基于上述分析,代理缓存系统的整体性能不能通过命中率来直接反应。为此,通过引入字节命中率对代理服务系统的性能进行评价。与命中率类似,字节命中率只是把计算单位改为字节数。通过下面的公式计算字节命中率: 从一定意义上说,为了详细说明代理缓存系统所有命中的价值,通过字节命中率完善和弥补命中率的不足,同样字节命中率直接关系到代理缓存空间的利用率情况。因此,通过采用字节命中率来评价代理缓存的空间利用率。由于小网页是Web流量的重要组成部分,用户请求Web服务器的频率比较大,代理缓存系统可能因缺失大量小网页无形中增加Web服务器的负载,所以不能简单概括字节命中率高的缓存系统性能也就越优越。③访问延迟。访问延迟是时间的概念,是指从用户从发出请求到接收到请求响应的全部时间,是用户等待响应的时间。通过代理缓存系统降低用户访问的等待时间。用户等待请求的全过程涉及Internet的网络传输,因此,早计算访问延迟时,需要考虑网络的传输模型。④空间利用率。通过空间利用率的高低进而评价代理缓存空间的利用情况。尽管隶属代理缓存系统的缓存空间处在辅助存储设备上,同样存在成本并且受存储介质的制约和影响。代理服务器不用购买存储介质,就能提高缓存空间的利用率,是因为代理服务器直接面对Internet上的Web服务器,进而能为更多网页提供代理缓存服务,对于代理缓存系统中命中率和字节命中率出现不一致的情况,借助通过空间利用率也能解释。
2.5 基于Internet的代理缓存技术存在的问题
要实现代理缓存目标,还存在以下问题:①通过建立和完善科学合理的代理更新机制,不断更新代理缓存中的数据,因为客户想要的数据可能是已有的数据,因此,需要确保代理缓存的一致性。②如果缺失代理缓存,访问时间会因额外的处理而不断增加。为了提高缓存命中率,逐渐减少缓存缺失,设计一个代理缓存系统成为一个趋势。代理缓存系统的命中率、字节命中率等指标受到替换策略好坏的影响。对于一个好的替换策略,其命中率要高。③为了确保服务质量,必须对代理服务器所服务的用户数量进行限制。受硬件环境的制约以及访问流量的急剧增加的影响,对于一个大型组织或企业提出的请求或者出现访问高峰时,单个的代理缓存难以满足其需要,进而会延长代理服务器的响应请求的时间,导致相应用户请求的速度不断降低。为了满足访问数量不断上升的需要与代理服务器之间的相互匹配,通过下列方式进行改进:一升级服务器硬件系统,该方法的不足之处是成本高且扩展有限;二采用服务器集群技术,协同代理服务器之间的合作,通过共享资源,提高性能,降低硬件成本,解决单个代理服务器的瓶颈问题。通过研究分析代理缓存系统的组织结构,完善相应的协议及更新技术,建立完全分布式、协作的代理缓存系统。④发现解决态数据缓存问题是当前数据传输的重点所在,但是代理位置、代理路的研究相对较少,需要加大研究力度,以便有效解决现实中遇到的问题。
参考文献:
[1]庄伟强.集群服务器代理缓存技术研究[D].清华大学研究生院,1999.
[2]沈庆伟.基于Internet的高速缓存技术分析[J].合肥工业大学学报,2002,25(3):451-454.
[3]郭欣.构建高性能web站点[M].电子工业出版社,2009,8.
[4]伊藤直也,田中慎司.大规模web服务开发技术[M].电子工业出版社,2011,7.
作者简介:
皮灿军,女,本科,讲师,研究方向为计算机软件;李和香,女,硕士,研究方向为智能规划、计算机应用。
本文系湖南电大2011年度一般资助课题《基于网络平台的课程教学活动设计、组织与学习监控》,项目编号XDK2010F-C-17阶段性研究成果。
关键词:Web缓存 反向代理缓存 技术创新
本文介绍了基于Internet的代理缓存的目标、性质和工作原理,阐述代理缓存是解决Web访问速度慢、服务器负载重和网络阻塞等问题的关键所在。通过制定评价反向代理缓存系统性能的指标体系,研究分析基于Internet反向代理缓存中出现的问题。
1 Web缓存方式
现在Web缓存分为两种,一种是浏览器缓存,一种是反向代理缓存。
1.1 浏览器缓存
浏览器缓存是把缓存内容存储在本地浏览器,缓存的内容由web服务器生成,省掉了网上缓慢传输的过程,减少对网站的访问,加速了浏览速度,减少所占用的网络带宽。
缺点:一是浏览器之间不能共享缓存数据,缓存数据冗余;二是缓存容量小,存储的网页数量有限。
1.2 反向代理缓存
反向代理缓存是介于Web服务器和代理服务器之间的中间体,代理服务器成为前端服务器(Front_end Server),该Web服务器成为后端服务器(Back_end Server)。反向代理服务器通常安装在1台联接Internet的计算机上,为多个用户提供服务。用户需要访问Web服务器,先与反向代理服务器建立连接,反向代理服务器再与Web服务器建立连接。
反向代理缓存的优点:
①提高访问速度。反向代理服务器缓存可缓冲的数据(如Html网页和图片等),其承担了对原始Web服务器的静态页面的请求,防止外部网主机直接和Web服务器直接通信带来的安全隐患,提高了访问速度,减少了网络流量,减少了用户所消耗的网络带宽和网络阻塞。②可降低Web服务器的负载。在反向代理服务器缓存网页,它能处理所有对Web服务器的请求,增强了Web服务器和Internet的直接通信,防止Web服务器过载,减少了服务器被重复请求的次数,使服务器能够更好地服务新的请求。
2 基于Internet的反向代理缓存技术
2.1 反向代理缓存的目标
反向代理缓存的目标如下[1]:
①加快访问速度,节约通信带宽。反向代理服务器里面缓存用户近期访问的网页,完成前台服务器功能,有效地降低后台服务器被重复请求的频率,节约带宽资源。② 加快请求响应的速度,缩短用户的请求等待时间。客户机向代理服务器发出请求,代理服务器将此请求发送到后台服务器,后台服务器根据请求在缓存中寻找,如果找到(即命中),就直接将缓存副本发给代理服务器,代理服务器将检索到的信息发送给客户机,并将此请求缓存在内存或硬盘中,下次客户机提出同样的请求时,直接从缓存中搜索,而不需再次访问后台服务器,从而加速对用户请求的响应,降低了访问延迟。③防止后台服务器受到攻击。代理服务器接收后台服务器返回的请求消息后,通过修改标头中列出的URL,然后将消息回传给客户机,这样有效避免了外部客户机获取后台服务器的重定向URL,为后台服务器和可能存在的恶意攻击之间提供了一道安全屏障。
2.2 反向代理缓存的性质
代理缓存有以下一些特性[2]:①快速访问。代理缓存系统缩短用户请求访问时间。②缓存加速。③健壮性。第一代理崩溃不会影响整个系统工作;第二单个节点失败,代理缓存系统能自行调整;第三代理缓存系统的设计具备容错纠错能力。④透明性。用户借助该系统能得到快速访问和高可用性的服务。⑤可扩展性。代理缓存系统要适应网络的变化。⑥有效性。代理缓存系统采用充分利用网络资源的方案。⑦适应性。用户请求和网络环境的动态变化要求代理缓存系统要与之相匹配。⑧稳定性。使用代理缓存系统确保网络工作稳定。⑨负载均衡。反向代理可以作为调度器来实现负载均衡系统。⑩处理异质能力。代理缓存系统在不同的环境中满足不同网络结构的需要。
2.3 反向代理缓存的工作原理
反向代理缓存的工作原理[3](如图1所示):①客户机向代理服务器发出需要访问网页地址的请求。②代理服务器根据请求先查找本地缓存,如果符合请求条件,将结果借助Internet回传给客户机。③代理服务器向Web服务器发出客户机访问的网页地址。④Web服务器将网页响应发送给代理服务器。⑤代理服务器将网页响应发给等待的客户机。
根据上述原理,代理服务器要处理的工作有:①在代理缓存中核实客户请求的网页是否过期和修改?②处理后台服务器的响应结果,并判断是否缓存?单个代理服务器容易出现服务瓶颈,Web代理缓存发展到和网络层彼此影响的阶段,通过层次缓存结构以及发展缓存集群,提高扩展性。Web代理缓存系统模型[2]如图2所示。
2.4 代理缓存性能评价指标
性能评价指标包括[3]:
根据网页的命中率是对代理缓存系统的性能进行评价。代理服务器在工作时,如果网页的命中率比较高,那么就说明其直接从代理缓存空间获得网页副本的成功率也就越高,在一定程度上减少了向Web服务器获取网页的次数,Web服务器响应的延迟得到了降低。②字节命中率(Byte Hit Rate,缩写为BHR)。Web是以网页的形式存在的,因此Web是将整个网页进行传输和缓存[5],由于网页大小存在差异,导致代理服务系统命中不同的网页也有所不同,在一定程度上影响了代理缓存系统的性能。对于代理缓存系统来说,其命中率高低与否与传输的信息量没有直接的关系,因为在全部的命中里,小网页的命中占绝大部分。实践证明,在访问多媒体等信息量比较大的网页时,用户渴望大网页能够在代理缓存系统中进行缓存,进而减少对网络带宽的消耗,降低延迟。基于上述分析,代理缓存系统的整体性能不能通过命中率来直接反应。为此,通过引入字节命中率对代理服务系统的性能进行评价。与命中率类似,字节命中率只是把计算单位改为字节数。通过下面的公式计算字节命中率: 从一定意义上说,为了详细说明代理缓存系统所有命中的价值,通过字节命中率完善和弥补命中率的不足,同样字节命中率直接关系到代理缓存空间的利用率情况。因此,通过采用字节命中率来评价代理缓存的空间利用率。由于小网页是Web流量的重要组成部分,用户请求Web服务器的频率比较大,代理缓存系统可能因缺失大量小网页无形中增加Web服务器的负载,所以不能简单概括字节命中率高的缓存系统性能也就越优越。③访问延迟。访问延迟是时间的概念,是指从用户从发出请求到接收到请求响应的全部时间,是用户等待响应的时间。通过代理缓存系统降低用户访问的等待时间。用户等待请求的全过程涉及Internet的网络传输,因此,早计算访问延迟时,需要考虑网络的传输模型。④空间利用率。通过空间利用率的高低进而评价代理缓存空间的利用情况。尽管隶属代理缓存系统的缓存空间处在辅助存储设备上,同样存在成本并且受存储介质的制约和影响。代理服务器不用购买存储介质,就能提高缓存空间的利用率,是因为代理服务器直接面对Internet上的Web服务器,进而能为更多网页提供代理缓存服务,对于代理缓存系统中命中率和字节命中率出现不一致的情况,借助通过空间利用率也能解释。
2.5 基于Internet的代理缓存技术存在的问题
要实现代理缓存目标,还存在以下问题:①通过建立和完善科学合理的代理更新机制,不断更新代理缓存中的数据,因为客户想要的数据可能是已有的数据,因此,需要确保代理缓存的一致性。②如果缺失代理缓存,访问时间会因额外的处理而不断增加。为了提高缓存命中率,逐渐减少缓存缺失,设计一个代理缓存系统成为一个趋势。代理缓存系统的命中率、字节命中率等指标受到替换策略好坏的影响。对于一个好的替换策略,其命中率要高。③为了确保服务质量,必须对代理服务器所服务的用户数量进行限制。受硬件环境的制约以及访问流量的急剧增加的影响,对于一个大型组织或企业提出的请求或者出现访问高峰时,单个的代理缓存难以满足其需要,进而会延长代理服务器的响应请求的时间,导致相应用户请求的速度不断降低。为了满足访问数量不断上升的需要与代理服务器之间的相互匹配,通过下列方式进行改进:一升级服务器硬件系统,该方法的不足之处是成本高且扩展有限;二采用服务器集群技术,协同代理服务器之间的合作,通过共享资源,提高性能,降低硬件成本,解决单个代理服务器的瓶颈问题。通过研究分析代理缓存系统的组织结构,完善相应的协议及更新技术,建立完全分布式、协作的代理缓存系统。④发现解决态数据缓存问题是当前数据传输的重点所在,但是代理位置、代理路的研究相对较少,需要加大研究力度,以便有效解决现实中遇到的问题。
参考文献:
[1]庄伟强.集群服务器代理缓存技术研究[D].清华大学研究生院,1999.
[2]沈庆伟.基于Internet的高速缓存技术分析[J].合肥工业大学学报,2002,25(3):451-454.
[3]郭欣.构建高性能web站点[M].电子工业出版社,2009,8.
[4]伊藤直也,田中慎司.大规模web服务开发技术[M].电子工业出版社,2011,7.
作者简介:
皮灿军,女,本科,讲师,研究方向为计算机软件;李和香,女,硕士,研究方向为智能规划、计算机应用。
本文系湖南电大2011年度一般资助课题《基于网络平台的课程教学活动设计、组织与学习监控》,项目编号XDK2010F-C-17阶段性研究成果。