日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Varnish 和 Squid比较到底强多少

發(fā)布時(shí)間:2023/11/27 生活经验 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Varnish 和 Squid比较到底强多少 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

對(duì)于坊間流傳的:
1.varnish的性能比squid高10~20倍
2.squid 3.0的性能比2.6有提高
本次測(cè)試將會(huì)揭示結(jié)果,
是否varnish的架構(gòu)真的能提升那么多的性能
是否squid的新版本在性能上有所提升
測(cè)試中將不對(duì)平臺(tái).軟件.等等進(jìn)行優(yōu)化
由于優(yōu)化水平的關(guān)系將極大的影響結(jié)果.
此次測(cè)試中的數(shù)據(jù)可以作為基準(zhǔn)數(shù)據(jù).
可以由其中個(gè)別軟件的優(yōu)化與非優(yōu)化結(jié)果比例系數(shù)
自行計(jì)算得出比較結(jié)果.所以個(gè)別軟件的優(yōu)化或者系統(tǒng)優(yōu)化后對(duì)整體的影響
可以由讀者自行對(duì)特定軟件進(jìn)行,并使用此基準(zhǔn)數(shù)據(jù)進(jìn)行推算.
WEB站點(diǎn)的頁面
我將淘寶的首頁獲取到本地
作為測(cè)試對(duì)象
測(cè)試頁面下載
index_files

平臺(tái):
PROXY:
CentOS 5.1 最小化安裝
浪潮NF190
Xeon 2.8
1G RAM
73G SCSI
Squid 2.6,Squid 3.0,Varnish 1.1.2

WEB:
CentOS 5.1 最小化安裝
浪潮NF180
Xeon 2.8
1G RAM
73G SCSI
Nginx 0.6.31

CLIENT:
CentOS 5.1 最小化安裝
浪潮NF260
Xeon 2.4
512M RAM
36G SCSI
http_load-12mar2006

SWITCH:
DLINK DES 1024R+

1.Squid 2.6
編譯參數(shù)

./configure?--prefix=/usr/local/squid26

配置文件

visible_hostname?test2.hiadmin.com
http_port?80?accel?vhost?vport
cache_peer?192.168.210.111?parent?80?0?no-query?originserver?name=test1
acl?all?src?0.0.0.0/0.0.0.0
http_access?allow?all
cache_log?/var/log/squid26/cache.log

2.Squid 3.0
編譯參數(shù)

./configure?--prefix=/usr/local/squid30

配置文件

visible_hostname?test2.hiadmin.com
http_port?80?accel?vhost?vport
cache_peer?192.168.210.111?parent?80?0?no-query?originserver?name=test1
acl?all?src?0.0.0.0/0.0.0.0
http_access?allow?all
cache_log?/var/log/squid30/cache.log

3.Varnish 1.1.2
編譯參數(shù)

./configure?--prefix=/usr/local/varnish

配置文件

backend?default?{
???
set?backend.host?=?"192.168.210.111";
???
set?backend.port?=?"80";
}

運(yùn)行參數(shù)

varnishd?-f?/usr/local/varnish/default.vcl?-a?0.0.0.0:80

4.Nginx 0.6.31
編譯參數(shù)

./configure?--prefix=/usr/local/nginx

配置文件

worker_processes?10;
events?{
???
worker_connections?1024;
}
http?{
???
include?mime.types;
???
default_type?application/octet-stream;
???
sendfile?on;
???
keepalive_timeout?65;
???
server?{
???
listen?80;
???
server_name?localhost;
???
location?/?{
???
root?html;
???
index?index.html?index.htm;
???
}
???
error_page?500?502?503?504?/50x.html;
???
location?= /50x.html?{
???
root?html;
???
}
???
}
}

5.http_load
運(yùn)行參數(shù)

./http_load?-parallel?1000?-seconds?10?urls.txt
urls.txt
http://192.168.210.222/index.html

6.squid 2.7
編譯參數(shù)

./configure?--prefix=/usr/local/squid27

配置文件

visible_hostname?test2.hiadmin.com
http_port?80?accel?vhost?vport
cache_peer?192.168.210.111?parent?80?0?no-query?originserver?name=test1
acl?all?src?0.0.0.0/0.0.0.0
http_access?allow?all
cache_log?/var/log/squid27/cache.log

測(cè)試結(jié)果

點(diǎn)圖放大
圖標(biāo)中標(biāo)注淺黃色的為客戶端在抓取過程中只出現(xiàn)一次或幾次的500
橙色的為出現(xiàn)500抓取錯(cuò)誤的頻率較多
紅色的為幾乎每次都會(huì)出現(xiàn)500抓取錯(cuò)誤
值得注意的是squid 3.0
在500并發(fā)連接數(shù)時(shí)500出現(xiàn)的次數(shù)很多
但是在1000的時(shí)候反而抓取失敗率下降了.

CPU和內(nèi)存占用率

點(diǎn)圖放大
varnish一直保持良好的CPU和內(nèi)存使用率
但是到了1000并發(fā)數(shù)的時(shí)候
你會(huì)發(fā)現(xiàn)CPU使用率到了103%
沒錯(cuò).我并沒有打錯(cuò).在5次測(cè)試中,VARNISH的1000并發(fā)數(shù)測(cè)試其CPU占用率一直徘徊在101~103之間
可能是varnish的連接池寫的不是特別好.當(dāng)大于varnish處理量時(shí),會(huì)使用更多的CPU資源去處理
squid 3.0似乎是個(gè)CPU和內(nèi)存的占用大戶
可能和版本比較新以及特性比較多有關(guān)(雖然這次什么特性都沒用上)
squid 2.6保持了良好的姿態(tài),穩(wěn)定的CPU占用率和內(nèi)存占用率.表明了為何市面上使用最多是它的原因.

更詳細(xì)的內(nèi)容可以下載此表格
varnish-vs-squid3

雖然varnish有著令人吃驚的CPU占用率(超過處理能力時(shí)也很令人吃驚)
但是其處理超大量的鏈接時(shí)內(nèi)存和CPU使用率的暴漲并不令人滿意
不過其表現(xiàn)出的在最大負(fù)荷時(shí)的fetchs/second
確實(shí)比squid 2.6要高出大約8%
實(shí)驗(yàn)表明.在需要更加穩(wěn)定的生產(chǎn)環(huán)境中,varnish還不能替代老一代的squid 2.6
但是其對(duì)squid 3.0已經(jīng)產(chǎn)生了很明顯的挑戰(zhàn).
如果squid 3.0不能比他的上代產(chǎn)品提供更好的性能和穩(wěn)定性的話
很有可能最佳反向代理的寶座會(huì)被varnish奪走
不論如何
這次測(cè)試的主題.varnish比squid有著10倍或者20倍的性能
被證實(shí)是不可能實(shí)現(xiàn)的.
雖然測(cè)試數(shù)據(jù)量充滿100M帶寬可能影響到測(cè)試的準(zhǔn)確度.
但是更高的帶寬所帶來的同時(shí)連接數(shù),很可能會(huì)撐爆varnish主機(jī)的CPU和內(nèi)存.

結(jié)論
1.varnish在高負(fù)載下以CPU和內(nèi)存為代價(jià),比squid 2.6提高8%,但是絕非10倍~20倍.
2.squid 3.0的性能比2.6更低.而非更高.相反,3.0是最不穩(wěn)定以及性能最差的.
3.squid 2.7的性能比2.6低,但是CPU和內(nèi)存占用率控制的更好.

?

======================================================

Squid 2.6 2.7 3.0 3.1 以及 varnish 2.1.5 性能對(duì)比測(cè)試

http://www.cnblogs.com/littlehb/archive/2012/02/21/2360787.html

?

說明:

?

使用壓力測(cè)試軟件siege,http_load對(duì)這幾個(gè)代理軟件進(jìn)行測(cè)試,測(cè)試了不同大小的文件和各種并發(fā)數(shù)。

?

squid的版本選擇,考慮到實(shí)際使用的一些需求,并參考了其他的一些文章(

比如:http://www.php-oa.com/2009/12/02/cache%e8%bd%af%e4%bb%b6%e7%89%88%e6%9c%ac%e9%80%89%e6%8b%a9.html

),沒有選擇比較老的squid 2.5。

?

每次測(cè)試前清除文件緩存并重啟代理軟件。

?

這個(gè)測(cè)試僅作為數(shù)據(jù)參考,并不能完全模擬生產(chǎn)環(huán)境那么復(fù)雜的網(wǎng)絡(luò)請(qǐng)求(請(qǐng)求數(shù),各種大小的文件請(qǐng)求)。

?

一、測(cè)試環(huán)境:

?

硬件:Intel Xeon E5410?@ 2.33GHz * 2,16G內(nèi)存,SATA 500G * 4(RAID 10)

?

安裝squid 2.7

?

./configure -prefix=/opt/squid2.7 -enable-xmalloc-statistics --enable-async-io=320 --with-maxfd=65536 -enable-useragent-log -enable-referer-log -enable-epoll -disable-poll -enable-large-cache-files -disable-internal-dns -enable-linux-netfilter -enable-truncate -enable-x-accelerator-vary -enable-follow-x-forwarded-for -with-large-files -with-pthreads -enable-storeio="aufs,coss,diskd,ufs" -enable-kill-parent-hack -enable-gnuregex -enable-cache-digests -enable-delay-pools -enable-stacktraces -enable-default-err-language=Simplify_Chinese -enable-err-languages="Simplify_Chinese English" --enable-auth="basic" --enable-basic-auth-helpers="NCSA" --enable-snmp

?

注意:

?

1、不要使用-enable-dlmalloc這個(gè)編譯參數(shù),否則運(yùn)行一段時(shí)間會(huì)報(bào)錯(cuò) FATAL: xcalloc: Unable to allocate 1 blocks of 4112 bytes!

?

參考:

?

http://www.mail-archive.com/squid-users@squid-cache.org/msg48804.html

?

http://www.mail-archive.com/squid-users@squid-cache.org/msg40839.html

?

大致意思是dlmalloc是squid在某些系統(tǒng)本身malloc太爛的情況的代替方案,dlmalloc已經(jīng)很老,且不支持2G以上內(nèi)存(比較有意思的是之前使用的squid 3.0也用了這個(gè)參數(shù),卻正常運(yùn)行,內(nèi)存使用有配置超過10G的,可能3.0有特殊處理兼容了這種編譯配置)。

?

Squid 3的編譯參數(shù):

?

www:/srv# /opt/squid3/sbin/squid?-v

Squid Cache: Version 3.0.STABLE25

configure options:?'--prefix=/opt/squid3' '--enable-dlmalloc' '--enable-gnuregex' '--enable-async-io=160' '--enable-removal-policies=heap,lru' '--enable-delay-pools' '--enable-storeio=ufs,aufs,null' '--disable-wccp' '--enable-kill-parent-hack' '--disable-select' '--enable-auth=basic' '--with-aio' '--disable-ident-lookup' '--with-filedescriptors=65536' '--enable-err-languages=Simplify_Chinese' '--enable-default-err-languages=Simplify_Chinese'

?

3.1的編譯參數(shù)基本和3.0一樣。

?

squid幾個(gè)版本使用的基本是一樣的squid.conf,性能相關(guān)的幾個(gè)配置如下:

?

cache_mem 4000 MB

maximum_object_size_in_memory 512 KB

?

#cache_dir

cache_dir aufs /srv/squid_cache 20480 16 256

?

maximum_object_size 4096 KB

?

?

Varnish:

?

tar zxf varnish-2.1.5.tar.gz

cd varnish-2.1.5

./configure --prefix=/opt/varnish

?

運(yùn)行參數(shù):

?

/opt/varnish/sbin/varnishd -u www -g www -f /opt/varnish/etc/varnish/aipai.vcl -a 0.0.0.0:8080 -s file,/srv/varnish_cache/cache/varnish_cache.data,1G -w 1024,51200,10 -t 3600 -T 0.0.0.0:30000

?

二、測(cè)試結(jié)果:

?

每次測(cè)試60s

?

測(cè)試命令:siege -b -c 100 -t 60s URL

?

表中記錄的數(shù)據(jù)是:Transaction rate,單位:請(qǐng)求/s

?

典型測(cè)試結(jié)果:

?

da01:~/siege-2.69# siege -b -c 500 -t 60s http://www.aipai.com:8080/about/map.html?

** SIEGE 2.69

** Preparing 500 concurrent users for battle.

The server is now under siege...

Lifting the server siege...????? done.

?

Transactions:???????????????? 653211 hits??

Availability:???????????????? 100.00 %??????????

Elapsed time:????????????????? 59.35 secs

Data transferred:??????????? 1238.43 MB

Response time:????????????????? 0.05 secs?????????????? //平均相應(yīng)時(shí)間

Transaction rate:?????????? 11006.08 trans/sec?? //平均每秒處理速度,請(qǐng)求/s

Throughput:??????????????????? 20.87 MB/sec????????? //網(wǎng)絡(luò)吞吐量

Concurrency:????????????????? 498.86???????????????????????? //最高并發(fā)數(shù)

Successful transactions:????? 653212???????????????????????? //成功處理數(shù)

Failed transactions:?????????????? 0???????????????????????? //失敗處理數(shù)

Longest transaction:??????????? 3.01???????????????????????? //最長的請(qǐng)求處理時(shí)間

Shortest transaction:?????????? 0.00

?

對(duì)于測(cè)試結(jié)果詳細(xì)的說明,有興趣的朋友請(qǐng)查閱siege的文檔,比較關(guān)鍵的幾個(gè)數(shù)據(jù)上面已經(jīng)標(biāo)注了。

?

測(cè)試1:

?

目標(biāo)URL:http://www.aipai.com:8080/about/map.html,測(cè)試小文件請(qǐng)求,文件大小:6221 byte

?

?

并發(fā) 10

并發(fā) 100

并發(fā) 500

并發(fā) 1000

squid 2.6 STABLE23

8207

11211

11016

10451

squid 2.7 STABLE9

8261

11409

11006

10002

squid 3.0 STABLE25

8524

9762

8138

8768

squid 3.1.11

6421

6832

5990

5834

varnish 2.1.5

10875

10251

11459

11412

?

PS:siege使用超過1000個(gè)并發(fā)會(huì)報(bào)錯(cuò)。

?

測(cè)試2:

?

目標(biāo)URL:http://www.aipai.com:8080/c7/Pjg_KScqImgnaiYs.html,測(cè)試我們網(wǎng)站典型的播放頁請(qǐng)求,文件大小:75356 byte

?

?

并發(fā) 10

并發(fā) 100

并發(fā) 500

并發(fā) 1000

squid 2.6 STABLE23

4554

6382

6625

6696(4 failed )

squid 2.7 STABLE9

4164

6234

6565

6588

squid 3.0 STABLE25

4366

5315

5190

5153

squid 3.1.11

3697

4217

4357

4075

varnish 2.1.5

6618

6781

6775

5714

?

?

測(cè)試1,測(cè)試2總結(jié):

?

測(cè)試1,測(cè)試2都是對(duì)一個(gè)URL進(jìn)行強(qiáng)壓,主要測(cè)試MEM_HIT時(shí)候軟件的處理能力。

?

1、squid 2.6在squid組中基本是最快的,在測(cè)試2并發(fā)1000的時(shí)候開始不太穩(wěn)定,有4個(gè)Connection timed out。

?

2、squid 2.7的成績(jī)和2.6在一個(gè)水平線,略遜一點(diǎn)。

?

3、squid 從3.0開始用c++全部重寫,目前看來與2.7/2.6性能差距還很明顯,3.1從性能上來看比3.0還差(squid哥,不能為了功能損失太多的性能啊)。

?

4、varnish在大多數(shù)測(cè)試上處于領(lǐng)先,有些項(xiàng)目差一些(varnish的測(cè)試結(jié)果不是很穩(wěn)定,有一些擺幅)。varnish性能比squid強(qiáng)一些,不過遠(yuǎn)沒有達(dá)到某些文章宣稱的是squid的10倍。

?

?

測(cè)試3:

?

進(jìn)一步模擬生產(chǎn)環(huán)境,從實(shí)際運(yùn)行的squid access log中截取了5萬個(gè)url來測(cè)試。

?

每次測(cè)試延長到2分鐘。

?

?

并發(fā) 10

并發(fā) 100

并發(fā) 500

并發(fā) 1000

squid 2.6 STABLE23

2839

5485

6722

6604

squid 2.7 STABLE9

2981

5215

6789

6742

squid 3.0 STABLE25

2863

4294

4345

3859

squid 3.1.11

2682

3763

3402

3262

varnish 2.1.5

NA

NA

NA

NA

?

4934

?

注:varnish的測(cè)試有一點(diǎn)問題,siege會(huì)很快報(bào)出結(jié)果(并沒有到設(shè)定的2分鐘),查看varnish的log還在不斷的有請(qǐng)求進(jìn)來,這個(gè)測(cè)試中siege的結(jié)果不能使用。

?

報(bào)錯(cuò):

?

** SIEGE 2.69

** Preparing 100 concurrent users for battle.

The server is now under siege...??? done.

siege aborted due to excessive socket failure; you

can change the failure threshold in $HOME/.siegerc

Transactions:???????????????? 181336 hits

Availability:????????????????? 99.43 %

?

測(cè)試3總結(jié):

?

1、由于varnish的成績(jī)有問題,這里就只是squid各版本的比拼了。這個(gè)測(cè)試比之前的測(cè)試1,2更有意義一點(diǎn),因?yàn)槟芨鎸?shí)的模擬生產(chǎn)環(huán)境(url列表就是從生產(chǎn)環(huán)境中截取了一段)。

?

2、在這個(gè)測(cè)試中squid 2.7表現(xiàn)的很出色,有3個(gè)環(huán)節(jié)的分?jǐn)?shù)都比之前測(cè)試1,測(cè)試2中表現(xiàn)更好的squid 2.6高。
?

3、再驗(yàn)證測(cè)試的時(shí)候發(fā)現(xiàn),這組測(cè)試結(jié)果變化較大。拿并發(fā)100時(shí)squid 2.7的數(shù)據(jù)來說,結(jié)果從3800到5600都有。分析原因可能是因?yàn)檫@里訪問的是生產(chǎn)環(huán)境URL列表,需要去后端拿各種頁面,有不少頁面還需要請(qǐng)求數(shù)據(jù)庫(后端和數(shù)據(jù)庫這個(gè)時(shí)候都還在跑生產(chǎn)環(huán)境,并不是空閑的,當(dāng)跑測(cè)試的時(shí)候數(shù)據(jù)庫load明顯升高),后端和數(shù)據(jù)庫的繁忙程度會(huì)導(dǎo)致測(cè)試結(jié)果有一定偏差。

?

4、有偏差也能看出一個(gè)大致趨勢(shì),和測(cè)試1,2的結(jié)論其實(shí)差不多:2.6/2.7的性能接近,3.0差一些,3.1最差。

?

?

增加的http_load測(cè)試:

?

“測(cè)試3”對(duì)3萬個(gè)url列表進(jìn)行測(cè)試時(shí),varnish的結(jié)果無效,考慮使用另外的壓力測(cè)試工具來對(duì)比一下squid和varnish。

?

這里使用http_load對(duì)“測(cè)試3”使用的url list進(jìn)行測(cè)試(http_load 支持url 列表)。

?

?

并發(fā) 10

并發(fā) 100

并發(fā) 500

并發(fā) 1000

squid 2.6 STABLE23

4113(264 bad)

5612(415 bad)

5922(370 bad)

5768(354 bad)

squid 2.7 STABLE9

4253(277 bad)

5723(384 bad)

5600(341 bad)

5768(399 bad)

squid 3.0 STABLE25

4121(259 bad)

4786(350 bad)

3958(255 bad)

3868(228 bad)

squid 3.1.11

3405(206 bad)

3817(247 bad)

3384(183 bad)

3310(230 bad)

varnish 2.1.5

4985

6519(34 bad )

6268(1191 bad)

6410(1065 bad)

?

測(cè)試結(jié)果抽選:

?

574373 fetches, 100 max parallel, 8.57065e+09 bytes, in 120 seconds

14921.7 mean bytes/connection

4786.44 fetches/sec, 7.14221e+07 bytes/sec

msecs/connect: 0.398121 mean, 3.682 max, 0.039 min

msecs/first-response: 9.73295 mean, 4198.23 max, 4.263 min

350 bad byte counts

HTTP response codes:

?code 200 -- 542073

?code 302 -- 26308

?code 404 -- 5992

?

注:

?

1、varnish隨著并發(fā)數(shù)的增多,有越來越多的 byte count wrong。

?

http_load測(cè)試總結(jié):

?

1、從性能上來看,基本來之前的測(cè)試結(jié)論差不多:varnish > squid 2.6 > squid 2.7 > squid 3.0 > squid 3.1

?

2、squid 2.6,2.7成績(jī)很接近。

?

3、需要留意的是隨著并發(fā)數(shù)的增加,varnish出現(xiàn)的 bad byte counts比squid更多。

?

?

三、測(cè)試總結(jié):

?

?

1、性能:varnish > squid 2.6 > squid 2.7 > squid 3.0 > squid 3.1

?

2、squid 2.6和squid 2.7的成績(jī)相差不大,大多數(shù)情況是2.6高一些,少數(shù)情況2.7高一些。

?

3、squid 3.0,squid 3.1用c++重寫之后目前性能上還比較尷尬。

?

5、varnish的性能比squid好,不過遠(yuǎn)沒有達(dá)到一些文章宣稱的10倍,對(duì)varnish選擇保持關(guān)注。原來使用的是squid,可以沿用不少的squid.conf配置,暫時(shí)先不換軟件了,因?yàn)楦鼡Q之后的配置熟悉以及正式上線的運(yùn)行不確定性可能會(huì)有比較高的成本。

?

4、最后選用squid 2.7。它有著和2.6相近的性能,更好的支持http 1.1,也有3.0支持的不少特性。

?

總結(jié)

以上是生活随笔為你收集整理的Varnish 和 Squid比较到底强多少的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。