[linux-ileri] Re: Ext2'de merak ettiklerim...

---------

From: Serdar Koylu (serdarkoylu@fisek.com.tr)
Date: Thu 12 Jun 2003 - 13:08:19 EEST

  • Next message: kadir ulusoy: "[linux-ileri] Fw: [linux-sohbet] Re: selam"

    Selamlar..

    Tek bir blok halindeki (defragmented) dosyalar, multiuser/multitasking bir sistemde tersine bir etkiye yolacar. Yani performans kaybina.

    ext2 (ve ext3) bilerek dosyalari biraz daginik tutar. Yani art arda gelen bloklara koymaz. Aralarada inode verilerini serpistirir. Bu sayede multiuser ortamda en optimum cozumu getirmeye calisir.

    Olay su. Diyelim ki bir dosya 10 MB boyunda ve yanyana bloklar uzerinde tutuluyor. Bu durumda diyelimki, ilk 5 blogu okuduktan sonra bir baska user icin baska bir dosyanin okunmasi gerekti. O zaman bu dosyayi okumayi birakip gidip baska sektorleri okuyacak.. Iste, multitasking bir sistemde, dosyalar her zaman parca parca okunur. Yani defrag tam tersine performans bozucu bir etki gosterir. Cunku process'ler fragmentation'a, parcalanmaya yol acar.

    ext2 bu sorunu dosyalar ve metadata'yi disk uzerine dagitarak, bir dosyadan sonra oteki okunurken minimum seek zamani saglamakla cozmeye calisir. Bu nedenlede disk dolup gitse, parca parca bile olsa performansindan pek bir sey kaybetmez.

    Elbette burada FAT'in fragmantasyonu gibi bir durum soz konusu degil. Yapilan tamamen bilincli ve son derece kendi icinde butunluge sahip bir fragmantasyon.

    Read-ahead, herzaman bir sonraki sektoru (sektorleri) okuma seklinde calisir. Bu sektorler cache'a alinir. Bilhassa SCSI ve UDMA gibi sistemlerde, otomatik olarak (nispeten) okuma ve bellege alma cevrimleri yapilabilir, extra CPU yuku gerekmez. Bu ext2 icin son derece mantikli dizayn edilmistir.

    ext2'nin performans kayiplari, dizinlerin inode icinde yerlesimi, inodelerin son derece daginik olabilmesi gibi sorunlardan kaynaklanir. Bilhassa dizinler buyudukce (cok sayida dosya) dizin bir kac bloga dagilmaya, dosyalarda secoondary/primary indirect bloklara dagilmaya baslar. Buda bilhassa dosyaya erisim (dosyanin nerde olduguna dair bilgilere erisim) suresinde dramatik performans kayiplari getirir. ReiserFS gibi daha yeni dosya sistemleri indexler vs. kullanarak bu sorunu giderirler..

    Fakat ayni sebepten dolayi, ext2 son derece saglam bir sistemdir. Diskin belli bir bolgesi metadata yogun degildir. Bu nedenle her hangi bir durumda bozulan bir bolge son derece kisitli bir veri kaybina neden olur. Ama ornegin FAT dosya sisteminde, FAT'a bir sey olursa herseyiniz gider..

    Saygi ve sevgiler..

    12 Jun 2003 10:47 EEST tarihinde yazmışsınız:

    > On Thu, 2003-06-12 at 10:49, Enver ALTIN wrote:
    > > > Aklima su takildi, diyelim parcalanmis (fragmented) bir diskim var bu
    > > > diskde bir dosya 11. 15. 16. 22. 27. bloklara yerlesmis durumda. Ve ben
    > Bu arada, ext2 dosyalari pek oyle diske dagitmaz. Dosyanin fragmentation
    > olusmasina neden olmadan bir yere yazilmasi mumkunse alternatif dagitik
    > yazma metodlari aranmaz.


  • Next message: kadir ulusoy: "[linux-ileri] Fw: [linux-sohbet] Re: selam"

    ---------

    Bu arsiv hypermail 2.1.6 tarafindan uretilmistir.