国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

反向代理緩存的詳細介紹

2017-10-10 08:10:16 6170

反向代理緩存的詳細介紹

 傳統代理: 用戶(hù)隱藏在代理服務(wù)器之后。代理服務(wù)器工作在應用層,它只轉發(fā)它支持的協(xié)議的數據。 

   反向代理(Reverse Proxy): 這種機制是Web服務(wù)器隱藏在代理服務(wù)器之后,實(shí)現這種機制的服務(wù)器稱(chēng)作反向代理服務(wù)器(Reverse Proxy Server)。此時(shí),Web服務(wù)器成為后端服務(wù)器,反向代理服務(wù)器稱(chēng)為前端服務(wù)器。

    引入反向代理服務(wù)器的目的之一就是基于緩存的加速。我們可以將內容緩存在反向代理服務(wù)器上,所有緩存機制的實(shí)現仍然采用HTTP/1.1協(xié)議。

反向代理服務(wù)器不使用緩存:

    可將Nginx做為Apache的反向代理服務(wù)器,反向代理服務(wù)器不使用緩存時(shí),吞吐率會(huì )下降,因為原本直達Web的請求,現在繞路轉達,處理時(shí)間必然會(huì )增加。

    可將Web服務(wù)器和應用服務(wù)器分離,前者處理一些靜態(tài)內容,并作為反向代理,后者處理動(dòng)態(tài)內容。

反向代理服務(wù)器(RPS)使用緩存:

    Varnish作為RPS,能夠提供較好的緩存功能。如果緩存內容發(fā)揮作用,在Http響應頭中服務(wù)器顯示的是后端服務(wù)器,但Via標記會(huì )指示數據的來(lái)源。

    RPS可通過(guò)修改流經(jīng)它的Http頭信息來(lái)決定哪些內容可以緩存,哪些內容不可以緩存。瀏覽器和Web服務(wù)器通過(guò)Http將自己的需求告訴RPS,RPS進(jìn)行協(xié)調緩存。

    Varnish通過(guò)配置文件來(lái)修改緩存規則,使用VCL語(yǔ)言。它也提供強制清除緩存的功能。Varnish提供一個(gè)監控程序Varnishstat用來(lái)監控緩存命中率。

緩存命中率和后端吞吐率的理想技術(shù)模型:  

    實(shí)際吞吐率: 指反向代理服務(wù)器處理用戶(hù)請求時(shí)的實(shí)際吞吐率。
    后端吞吐率: 指后端Web服務(wù)器處理來(lái)自反向代理服務(wù)器的請求時(shí)的吞吐率。
    活躍內容數: 在平均緩存有效周期內,反向代理服務(wù)器想后端服務(wù)器請求內容的次數。 

    緩存丟失率=(活躍內容數/(實(shí)際吞吐率×平均緩存有效期))×100% 
    緩存命中率= 1-緩存丟失率 
    后端吞吐率= 活躍內容數/平均緩存有效期 
    緩存命中率= (1-(后端吞吐率/實(shí)際吞吐率))×100% 
    后端吞吐率 = (1 – 緩存命中率)×實(shí)際吞吐率 

結論: 

    1. 活躍內容數和平均緩存有效期一定的情況下,緩存命中率與實(shí)際吞吐率成正比。 
    2. 實(shí)際吞吐率和平均緩存有效期一定的情況下,緩存命中率與活躍內容數成反比。 
    3. 活躍內容數和實(shí)際吞吐率一定的情況下,緩存命中率與平均緩存有效期成正比。 
    4. 活躍內容數一定的情況下,后端吞吐率與平均緩存有效期成反比。 
    5. 平均緩存有效期一定的情況下,后端吞吐率與活躍內容數成正比。 
    6. 緩存命中率的變化不一定會(huì )影響后端吞吐率。 
    7. 后端吞吐率的變化不一定會(huì )影響緩存命中率。
    由此可見(jiàn),緩存命中率越高,后端服務(wù)器工作量越少是錯誤的認識。 

ESI(Edge Side Includes)

    ESI類(lèi)似于SSI,可以在頁(yè)面中嵌入子頁(yè)面,不同于SSI的是SSI在Web服務(wù)器端組裝內容,ESI在Http代理服務(wù)器上組裝內容,包括反向代理。

   Varnish支持ESI,這樣Varnish就支持網(wǎng)頁(yè)局部緩存,實(shí)現局部更新動(dòng)態(tài)內容。AJAX也有類(lèi)似的功能(它對局部?jì)热葜С之惒秸埱?。

穿過(guò)代理:

    反向代理服務(wù)器作為用戶(hù)和后端Web服務(wù)器的中介,它只將用戶(hù)的Http請求轉發(fā)給后端服務(wù)器,但用戶(hù)的某些信息有時(shí)并不在Http請求中,如用戶(hù)的IP地址和發(fā)送請求的TCP端口,這對于后端的Web服務(wù)器是不可見(jiàn)的,這就有必要想辦法讓這些信息

“穿過(guò)”反向代理服務(wù)器。

    辦法: 讓反向代理請求后端服務(wù)器時(shí)攜帶附加的Http頭信息(通過(guò)配置反向代理服務(wù)器來(lái)實(shí)現)。同樣,如果后端服務(wù)器想要告知瀏覽器一些額外的信息,也可以在Http響應頭中攜帶自定義的信息“穿過(guò)”反向代理。 

Nginx和Lighttpd優(yōu)勢主要體現在網(wǎng)絡(luò )IO模型上。

Nginx利用epoll模型可以在較大并發(fā)用戶(hù)數的情況下依然提供較高的吞吐率。 

Ajax的問(wèn)題,局部?jì)热輵摵透疙?yè)面所在的主機保持相同的頂級域名。 

影響緩存命中率的因素: 緩存過(guò)期時(shí)間,緩存空間不夠大被換出,緩存的粒度,架構設計。 


提交成功!非常感謝您的反饋,我們會(huì )繼續努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題:
-->