欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在varnish、squid、apache、nginx中選出一個更好的緩存服務器

 更新時間:2014年06月03日 09:18:39   作者:  
這篇文章主要介紹了在varnish、squid、apache、nginx中選出一個更好的緩存服務器,需要的朋友可以參考下

一、varnish、squid、apache、nginx的區(qū)別

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

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

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

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

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

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

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

二、測試varnish、squid、apache、nginx

一,測試環(huán)境

1,硬件是奔騰雙核,機子三年前買的。系統(tǒng)是archlinux

2,測試varnish和squid的時候,web服務用的apache

3,測試apache的時候,啟動了5個進程,不過隨著壓力的增加,進程會增加的。

4,測試nginx的時候,啟動了十個nginx進程,20個php-cgi進程

5,varnish,squid,nginx用的是反向代理的形勢,也就是說訪問圖片的時候,要先透過緩存工具

二,測試

1,varnish

復制代碼 代碼如下:

[root@BlackGhost bin]# /usr/local/bin/webbench -c 100 -t 20 http://127.0.0.1:8080/00/01/RwGowEtWvcQAAAAAAAAWHH0Rklg81.gif
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://127.0.0.1:8080/00/01/RwGowEtWvcQAAAAAAAAWHH0Rklg81.gif
100 clients, running 20 sec.

Speed=476508 pages/min, 47258114 bytes/sec.
Requests: 158836 susceed, 0 failed.


varnish的緩存效率命中率真的好高

2,squid

復制代碼 代碼如下:

[root@BlackGhost bin]# /usr/local/bin/webbench -c 100 -t 20 http://localhost:9000/00/01/RwGowEtWvcQAAAAAAAAWHH0Rklg81.gif
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://localhost:9000/00/01/RwGowEtWvcQAAAAAAAAWHH0Rklg81.gif
100 clients, running 20 sec.

Speed=133794 pages/min, 7475018 bytes/sec.
Requests: 44598 susceed, 0 failed.


從測試效果來說,squid挺讓我失望的,在測試前,我心里是這樣估計的,緩存最好的是varnish,其次是squid,然后nginx,最后是apache,現在呢,squid是最差的。后來我看了一下log文件,發(fā)現正常情況下,緩存和沒有緩存的比率不是1:2,如果在高壓力下,緩存和沒有緩存的比率更小。

3,apache

復制代碼 代碼如下:

[root@BlackGhost conf]# /usr/local/bin/webbench -c 100 -t 20 http://localhost/00/01/RwGowEtWvcQAAAAAAAAWHH0Rklg81.gif
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://localhost/00/01/RwGowEtWvcQAAAAAAAAWHH0Rklg81.gif
100 clients, running 20 sec.

Speed=160890 pages/min, 15856005 bytes/sec.
Requests: 53630 susceed, 0 failed.

4,nginx

復制代碼 代碼如下:

[root@BlackGhost conf]# /usr/local/bin/webbench -c 100 -t 20 http://localhost:10000/00/01/RwGowEtWvcQAAAAAAAAWHH0Rklg81.gif
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://localhost:10000/00/01/RwGowEtWvcQAAAAAAAAWHH0Rklg81.gif
100 clients, running 20 sec.

Speed=304053 pages/min, 30121517 bytes/sec.
Requests: 101351 susceed, 0 failed.


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

Varnish是一款高性能的開源HTTP加速器,一般用來和Nginx、Apache等搭配使用,組建一個高效率的Web服務器。Varnish的某個負責接受新HTTP連接的線程開始等待用戶,如果有新的HTTP連接過來,它總負責接收,然后叫醒某個等待中的線程。

Worker線程讀入HTTP請求的URI,查找已有的object,如果命中則直接返回并回復用戶。如果沒有命中,則需要將所請求的內容,從后端服務器中取過來,存到緩存中,然后再回復。Varnish根據所讀到object的大小,創(chuàng)建相應大小的緩存文件。

按照官方的說法,Varnish是一個cache型的HTTP反向Dai理,Varnish根據請求來創(chuàng)建緩存文件,如果有一個超時線程,檢測緩存中所有object的生存期,如果超初設定的TTL(Time To Live)沒有被訪問,就刪除之,并且釋放相應的結構體及存儲內存。

從各方面的數據來看,Varnish在處理Web請求的能力已經強于squid、Apache等,使用Varnish能大提高你的web服務器并且降低Web服務器負載。

相關文章

最新評論