varnish、squid、apache、nginx緩存的對比

varnish、squid、apache、nginx緩存的對比

1.Squid,很古老的反向代理軟件,擁有傳統代理、身份驗證、流量管理等高級功能,但是配置太複雜。它算是目前互聯網應用得最多的反向緩存代理服務器,工作於各大古老的cdn上。 

2.Varnish是新興的一個軟件,設計簡單,更符合目前互聯網的應用,很多公司都採用了varnish這個軟件,比如微博的openapi http://open.t.sina.com.cn 。Varnish是基於內存緩存,重啓後數據將消失。 

3.nginx nginx的反向代理緩存是通過一個模塊實proxy_cache來實現的,目前這個模塊還在完善中,但是很多公司已經開始使用了。 




羣裏總是有人在問cache用什麼,有varnish,squid,apache,nginx這幾種,到底是我們用什麼架構cache。 

1、從這些功能上。varnish和squid是專業的cache服務,而apache,nginx這些都是第三方模塊完成。 

2、要做cache服務的話,我們肯定是要選擇專業的cache服務,優先選擇squid和varnish。 

varnish 本身的技術上優勢要高於squid,它採用了“Visual Page Cache”技術,在內存的利用上,Varnish比Squid具有優勢,它避免了Squid頻繁在內存、磁盤中交換文件,性能要比Squid高。 varnish是不能cache到本地硬盤上的。 

還有強大的通過Varnish管理端口,可以使用正則表達式快速、批量地清除部分緩存 

squid的優勢在於完整的龐大的cache技術資料,和很多的應用生產環境(這應該與squid早出來有關)。 

3、 談談nginx,nginx是用第三方模塊ncache做的緩衝,其性能基本達到varnish,但在架構中nginx一般作爲反向(靜態文件現在用 nginx的很多,併發能支持到2萬+)。在靜態架構中,如果前端直接面對的是cdn活着前端了4層負載的話,完全用nginx的cache就夠了。 

4、本人覺得如果是在apache服務上提升性能,做一些本地cache是完全可以的,但如果在系統架構中用apache做cache服務,那就有點牛頭不對馬尾了。 

測 試結果我們可以發現,varnish > nginx > apache > squid,我想這個結果,根大家預期的結果有點出入,因爲squid做老牌文件緩存工具怎麼會這麼差呢,squid的命中率低,我在網上查了一下,很多 人都是這樣的,這個可能根個人配置有關係,也許真正的高手,才能讓squid發揮最大功力。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章