[域名知識]詳解nginx的url與hash給squid提速
作者:晉城網(wǎng)站建設 日期:2012-02-16
關于nginx的url和hash給squid提速的介紹,很有用的教程,希望能給您帶來幫助。
url hash是用于提高squid命中率的一種架構算法,一般現(xiàn)行的架構通常是使用dns輪詢或lvs等將訪問量負載均衡到數(shù)臺squid,這樣做可以使squid的訪問量做到了均衡,但是忽略了一個重要方面--數(shù)據(jù)量。在這種架構下,每臺squid的數(shù)據(jù)量雖然是一致的,但通常都是滿載,并且存在數(shù)據(jù)重復緩存的情況。如果后端服務器數(shù)據(jù)容量或者用戶的訪問熱點數(shù)遠遠超過緩存機器的內存容量,甚至配置的disk cache容量,那么squid將會大量使用磁盤或者不停與后端服務器索取內容。
在新的架構下,使用nginx架載于squid之前,如果squid機器有4臺,那么在這4臺機器上裝上nginx,nginx使用80端口,而squid改為3128端口或其他端口。nginx的效率非常高,消耗內存也非常少,所以并不需考慮加裝nginx所帶來的性能損耗。然后在nginx上配置url hash,使訪問量根據(jù)url均衡分布到各臺squid,根據(jù)url分流之后,每一個url就會只存在于一臺squid中,每臺squid的數(shù)據(jù)都會完全不同。我們有4臺機器,每臺2G內存的話,原先極有可能因為數(shù)據(jù)大量重復,內存使用率仍然為2G,而現(xiàn)在我們經(jīng)過數(shù)據(jù)均衡分布,8G內存可以達到充分利用。
是否會存在訪問不均的情況呢?是有可能的,但是根據(jù)大數(shù)原理,訪問量基本可以保持一致,只要不存在單一的特別夸張的熱點。
假如squid是利用squidclient來刷新數(shù)據(jù)的話,新的架構提供了更高效的方法:在后端服務器中模擬url hash的算法來找到內容所在的squid,然后對此服務器刷新內容即可。在舊的架構中,需要遍歷所有的服務器,比較低效。
上一頁12 3 4 下一頁
在新的架構下,使用nginx架載于squid之前,如果squid機器有4臺,那么在這4臺機器上裝上nginx,nginx使用80端口,而squid改為3128端口或其他端口。nginx的效率非常高,消耗內存也非常少,所以并不需考慮加裝nginx所帶來的性能損耗。然后在nginx上配置url hash,使訪問量根據(jù)url均衡分布到各臺squid,根據(jù)url分流之后,每一個url就會只存在于一臺squid中,每臺squid的數(shù)據(jù)都會完全不同。我們有4臺機器,每臺2G內存的話,原先極有可能因為數(shù)據(jù)大量重復,內存使用率仍然為2G,而現(xiàn)在我們經(jīng)過數(shù)據(jù)均衡分布,8G內存可以達到充分利用。
是否會存在訪問不均的情況呢?是有可能的,但是根據(jù)大數(shù)原理,訪問量基本可以保持一致,只要不存在單一的特別夸張的熱點。
假如squid是利用squidclient來刷新數(shù)據(jù)的話,新的架構提供了更高效的方法:在后端服務器中模擬url hash的算法來找到內容所在的squid,然后對此服務器刷新內容即可。在舊的架構中,需要遍歷所有的服務器,比較低效。
上一頁12 3 4 下一頁
上一篇
下一篇

Tags: ,