利用页面缓存

在Web办事之前安排页面缓存。选择一种缓存体系并安排它。经由过程缓存和响应之前生成的动态要求,敏捷响应静态对象的挪用,从而下降Web办事器的负载。页面缓存是分流动态要求并有用进行扩大的好办法。

页面缓存是安装在Web办事器之前的缓存办事器,用于卸载对办事器上的静态和动态对象的要求。该体系或办事器器的常见名称还有反向署理缓存、反向署理办事器和反向署理。经由郑重斟酌,我们采取了页面缓存这个术语,因为署理法式还会负责负载均衡或SSL加快,而我们只想专注于缓存办事器对可扩大性的影响。被实现的署理缓存如图64所示。页面缓存会处置部门或所有要求,直到它存储的页面或数据过时了,或办事器收到的要求了它没有存储的数据。要求掉败叫做缓存未射中,原因可能是缓存满了,没有空间为最新的要求存储数据,也可能是缓存未满,但要求频率较低或比来重启过。缓存未射中会被传递给Web办事器,Web办事器用该要求答复并填充缓存,从而调换缓存中比来很少应用的记载,或者在空白处写入数据。

在这个原则中,有三个症结点。

第一点,应当在Web办事器前实现页面缓存(反向署理法式),如许你就会获得很年夜的可扩大性。生成动态内容的Web办事器的工作量会年夜年夜削减,因为盘算过的成果(或响应)在适合的时光被适当地缓存了。供给静态内容的Web办事器不须要查询那些内容,可以罕用一些缓存。我们赞成,静态内容的页面缓存的利益没有动态内容的页面缓存那么年夜。

第二点,须要应用准确的HTTP头,确保对内容和查询成果进行最年夜化的缓存(当然还要确保营业准确)。

第三点,尽可能参加RFC2616中的另一个HTTP头,从而最年夜化内容的可缓存性。这个新的头是ETag,也就是实体标签(entitytag),目标是合营If-None-Match有前提地从办事器获得要求。ETag是由办事器在阅读器第一次要求一个对象时付与该对象的独一标识符。假如办事器端的资本转变了,那么办事器会为它分派一个新的Erag。假设能被阅读器(客户端)准确地支撑,对象和它的ETag标签就会被阅读器缓存,之后阅读器向Web办事器发送的工f-None-Match要求都邑包括该标签。假如标签匹配,办事器会用状况HTIP304NotModified进行响应。假如该标签与办事器上的纷歧致,办事器会发送更新过的对象以及与之相干的Etag-ETag是可选的,但假如要确保在任何特定的网站设计页面或对象的全部收集传输中,页面缓存和署理缓存具有更年夜的可缓存性,强烈推举应用Brag。

相關文章: