![]()
From: Gürkan KARABATAK (gkarabatak@firat.edu.tr)
Date: Wed 06 Aug 2003 - 15:38:35 EEST
Serdar hocam oncelikle bilgiler icin tesekkur ediyorum. Squid icin Diskd =
aufs gibi olaylarin ufs dosya sistemiyle ilgisi olmadigi icin konuyla =
ilgisiz lafini telafuz etmistim bu konuda bir kavram karmasasi =
olmadigina emin olabilirsiniz.
Soruma gelince merak ettigim olay genelde bircok yerde ozellikle squid =
dokumanlarinda hem diskd kullanimi hemde async-io kullanimi siddetle =
tavsiye edilmis. Bu yuzden diskd acaba async mu calisiyor diye merak =
etmistim. Oncelikle sizinde dediginiz gibi hattimiz 34 mbit ve 2000 e =
yaklasan kullanici oldugu icin performans detaylarina onem veriyoruz. =
Bundan once async-io ile calistiriyorduk squidi ancak kisa bir sure once =
Reiserfs ve diskd ye gectik. Ama sunu soyleyebilirimki daha once 0.1 sn =
lerde gordugum Hit suresi henuz az kullanici az ancak 0.03 sn lere =
dusmus durumda. Bu acidanda bunu test etmis olduk. Bir sure diskd ile =
calistirip bir sure sonra aufs ile calistirip aradaki farkida gormeyide =
dusunuyorum. Bunuda ileride listeyle paylasabilirim. En azindan denenmis =
olur.
Cevabiniz icin tekrar tesekkurler.
Saygilar.
-----Original Message-----
From: Serdar K=D6YL=DC [mailto:skoylu@gizemcafe.net]=20
Sent: Wednesday, August 06, 2003 1:36 PM
To: linux-sohbet@liste.linux.org.tr
Subject: [linux-sohbet] Re: ufs ve freebsd at=FD=FEmas=FD :)
Selamlar..
Biraz kavramlar arasinda karisiklik var gibime geliyor.=3D20
squid'in diskd'si, aufs, ufs'si squid'in user level cache yonetim
algoritmalaridir.=3D20
reiserfs ise sistemin dosya sistemi bilesenidir. diskd, aufs, ufs vs.
islerini transparent olarak reiserfs'ye veya o cache_dir'de neresi
gosterilyorsa oranin dosya sistemine yaptirirlar.
Simdi biraz squid'in yapisina goz atmak gerekiyor. squid async
non-blocking i/o ile calisan son derece guclu bir programdir. Nerdeyse
hic bir zaman hic bir seyi beklemez, gider o esnada diger islerini takip
eder. Yuku aslen cogu web sunucudan cok daha fazla olabilir. Cunku ayni
anda en az iki yerle irtibat kurar. Bir istemciyle, birde clientle. Bir
yandan client isteklerini karsilarken diger yandan cache'i yonetmesi,
ayrica bir de serverlere baglanip onlardan aldigi bilgileri istemcilere
yollamasi gerekir.=3D20
Bu durumda ornegin client'ten gelen bilgileri select ile dinlemeye
cikarsa isi zora girebilir. Bu yuzden asenkron calismayi tercih eder.
Simdi en buyuk bottleneck olan disk erisiminde squid ozel yapilar
kullanir. Bir mail mesaji, ufs, aufs'yi vs. aciklamak icin cok iyi bir
ortam degil. Ama kabaca yapiya bakarsak, pek cok dizin kullanilir,
boylece dizinde dosya sayisi az tutulur. Dosya kolayca bulunup
okunabilsin diye..=3D20
ReiserFS dizin basina bolca dosya olmasi durumunu cok sever. Hele
squid'inkiler gibi olanlari. Demekki, squid icin reiserfs son derece
verimlidir. Diger yandan CPU ve RAM yukunun XFS kadar olmamasi da iyi
haberdir, cunku squid tam bir CPU ve RAM canavaridir, bunlardan daha cok
yiyebilir..
diskd, squid'in bir extension'u. Asenkron calisabilme yetisi sunar basta
squid'e. Soyleki her cache dizini icin ayri bir memory mapped dosyaya
(memory mapped =3D3D Bellek haritali, yani bellekte dogrudan takip =
edilen)
bakan ayri bir diskd childi calisir. Mesaj kuyruklari ile squid bunlara
yazilacak/okunacak verileri iletir, sonrada kendi isine bakar. diskd
bunlari dosya sistemine yerlestirir. Asil performans kazanci, her
dizinin kendi diskd'sinin hizla dosyayi acabilmesidir ki reiserfs bunu
O(log n) suresi icinde diskd'den daha hizli becerebilir. Demekki FS
yonunden reiserfs uzerinde diskd kullanmanin cok bir getirisi yok. Ama,
squid, diskd kullanmaniz asenkron calismaz ve fs'yi beklemeye baslar.
diskd kullanirsaniz, fs'yi beklemeden yoluna devam edip daha fazla
performans getirir.=3D20
asenkron I/O icin bir suru thread olusturmak ve bunlari yer yer
senkronize etmek gerekir. libc5 bu iste son derece kirilgandi. Bu yuzden
asenkron calisan squid'ler Linux altinda boyuna coker, DoS'a ugrar veya
asiri performans kaybederdi. Ama libc6 cikalidan beri bu zaafiyet
asildi.=3D20
BSD, Linux'a gore cok daha verimli bir network sistemine sahiptir. Zaten
konu socketler olunca BSD de-facto kral olur her zaman. Asenkron calisma
ve skb'lerin yonetimi mukemmeldir. Bu yuzden de agir yuk altinda gayet
iyi network throughput verebilir. Ama ufs ve ffs bu tur yiginla dosya
olan dizinlerde resmen kaplumbaga gibi kalir. Bu yuzden diskd BSD icin
olmazsa olmaz denebilir.=3D20
Sonucta Linux+ReiserFS+diskd ile squid kullanarak gercekten cok iyi
performans elde edebilirsiniz. Squid FAQ'ina filan bakarsaniz eski
gunlerden kalma bir suru "sakin ha bulasmayni" ibareleri bulursunuz.
Thread sorunlari 2.4 Kernel ve libc6 ile birlikte tarih oldu. Ayrica
sistemin nominal yukunde Linux network mimarisi BSD'nin altinda kalmaz,
esit, bazen biraz az, bazen biraz fazla ortalamada denk bir performans
verebilir.=3D20
Sonucta ReiserFS ile squid kullanmak iyi bir tercihtir. squid'i diskd
ile kullanmakta iyi bir tercihtir.=3D20
Ama reiserfs'nin diger sistemlere gore daha kirilgan oldugunu unutmayin.
Gerci bu sozden hemen reiserfs cokuverir gibi bir anlam cikartmaya
meyledersiniz. Ama ben evimde kendim de reiserfs kullaniyorum. ReiserFS
kirilgandir derken, camdan kulede degildir. O kirilncaya kadar gene sizi
uzun sure tasir. Belki ext2 titanyum ise, bu da iyi bir namlu celigidir.
Sizi cogu zaman sorunsuz tasir. Hele bir proxy'de, en kotu ihtimalle
cache'inizi kaybedersiniz ki, birakirsiniz 1-2 gun vs. icinde gene dolar
kendi kendine... Evet, bir proxy icin bulunabilecek en iyi FS'lerden
biridir ReiserFS..=3D20
Genede squid'in bilinen en buggy programlardan biri oldugunu unutmayin.
Gercekten Async I/O vs. ile calisacak kadar yuk varsa, mesela 2500
client, T3 - 34 MBit internet baglantisi filan, o zaman bu yontemlerin
faydasini gorursunuz. Yoksa size standart squid yeterli olur. Daha
olmadi squid en kolay Load Balancing yapilan programdir, bu ozelligi
tepe tepe kullanin..
Saygi ve sevgiler..
On Wed, 6 Aug 2003 01:48:59 +0300
G=3DFCrkan KARABATAK <gkarabatak@firat.edu.tr> wrote:
> Serdar hocam pek ilgili de=3D3DF0il ama bilginiz varsa birazda diskd =
=3D3D
> hakk=3D3DFDnda bilgi verebilirmisiniz. Ve squid i=3D3DE7in reiserfs =
uzerinde =3D
=3D3D
> aufs async-io ve diskd arasinda bir karsilastirma yapilabilinirmi =
=3D3D
> hangisi ne sebepten tercih sebebi olabilir?
=20
linux-sohbet listesinden cikmak ve tum listeci islemleri icin
http://liste.linux.org.tr/ adresini kullanabilirisniz.
Bu listeden cikmak icin <a =
href=3D"mailto:linux-sohbet-request@liste.linux.org.tr?Subject=3Dunsubscr=
ibe">tiklayiniz</a>
linux-sohbet listesinden cikmak ve tum listeci islemleri icin
http://liste.linux.org.tr/ adresini kullanabilirisniz.
Bu listeden cikmak icin <a href="mailto:linux-sohbet-request@liste.linux.org.tr?Subject=unsubscribe">tiklayiniz</a>
![]()