[linux-baslangic] Re: swap

---------

From: Serdar Koylu (serdarkoylu@fisek.com.tr)
Date: Sat 12 Apr 2003 - 20:50:11 EEST

  • Next message: SULEYMAN AYDIN: "[linux-baslangic] Re: AYIN PENGUENLERI"

    Selamlar..

    squid icin genel formul cache_mem (disk_cache_size_GB * 10) 20 MB gibi birseydir. Yani, 10 GB Cache'iniz varsa, cache_mem icin 16MB koymussaniz, 136 MB RAM gerekecektir. Bu ise, sadece squid icin gerekli olan bir degerdir.

    Disk'lerin sistem icin MB basina 4096 bayt cache'e sahip olmasi uygundur. Eger Disk I/O yuku yuksekse, ki squid bu sinifa girer, boyuna bir suru dizine okuyup yazar, bu deger artirilmalidir. Bu durumda 40 GB disk icin 160 MB Cache normal kullanicilar icin gerekecektir. Bence uygun bir formul soyle olabilir.

    FDS = Sistemde acik tutulan anlik ortalama dosya sayisi
    PRC = Sistemde bir anda mevcut olan ortalama surec thread sayisi. Bunu kabaca bagli olan kullanici sayisi olarak alabiliriz.
    NODE = INode boyu.
    FAVG = Ortalama dosya buyuklugu, data dosyalari icin.
    DISK = MB cinsinden disk buyuklugu..

    CacheKB = SQR(FDS / PRC) * NODE * (FAVG/NODE) * DISK

    Bu benim uygulayip en iyi neticeyi aldigim bir formul. Bilhassa IDE diskler uzerinde iyi netice veriyor. SCSI icin bunun p'i de iyi netice veriyor. Simdi bir squid servere bakinca, Disk boyu 34GB, kullanici sayisi 1500, her kullanici icin bir defada tek bir baglantiyi tutan 1 dosya uzerinden yaklasik 1500 dosya, ext3 icin node 4096 bayt, ortalama dosya boyu 13...8 K oluyor web isteklerinde, bu da 10K denebilir. Bu halde

    OS Cache = SQR(1500/1500) * 4096 * (10000 / 4096) * 34K = 1 * 4096 * 2 * 34K = 300MB filan olacaktir.

    Elbette bu deger 34 GB dolu ise istenecek degeri veriyor. Simdi bu degerin uzerine squid ve sistemin diger bilesenlerinin ihtiyacini de ekleyin. Bunlarda 64MB tutsa, 130MB 300MB 64MB = 500 MB civarinda eder. Ama bu hesaba dahil olmayan bir diger bilesen network bufferleri. 1500 kullanici, 1500 connection uzerinden ortalama 10K veri yukleyecek. Bu durumda hem squid icin 10K, hem sistem icin 10K gerekecek. squid aldigi veriyi gondermek icin bir ikinci buffer olusturacak toplam 30K filan. Bu durumda 1500 kullanici icin 45MB daha eklemeniz gerekiyor. Sonucta 550MB kadar bir RAM ihtiyaciniz var. Bu deger minimum deger. Demekki 10GB Cache ve 1500 kullanici icin mantikli secim 768MB RAM. Eger squid SWAP-out olursa bunun farkina varabilir ve mallinfo'daki preallocated disindaki bellegi kullanmamaya imtina eder. Fakat o 130MB'i garantileyememisseniz, bu durumda squid resmen stop edebilir, bazi baglantilariniz timeout ile kesiliverir. Nasil mi ? Kabaca, POSIX'in bir getrusage/setru
     sage/mlock fonksiyon gurubu bulunur. Bunlar kullanilabilir.

    Linux'ta bellek yönetimi enteresandır. Torvalds buna "facia" diyordu resmen. malloc cogu zaman bellek olmasa bile NULL dondurmez, dusunur ki birazdan bir kac process nasil olsa kill olur, bellek acilir biraz.. Buna optimistic memory allocation gibi bir sey deniyor du. Iste oyuzden, 1 GB RAM ve 1 GB SWAP koyarsaniz, sistemde harbiden yuklu ise, birden SWAP'in sistigini gorebilirsiniz. Belki bu kadar SWAP olmasa, programlar daha kit kaynaklarla idare etmeyi ogrenebilirler. Ki modern programlarin, DB, WWW, PROXY vs. hepsi guzel bellek yonetim modulleri tasirlar ve bu durumu mutlaka gozonune alirlar. Ama gercekten limitli, 128..256 MB arasi bir sisteme makul bir swap iyi gelecektir. Fakat GB'lardan sozediyorsak, SWAP hesabindan once RAM toptancilariyla iyi gecinmeyi ogrenmek lazim gelir..

    Eger kaynaklariniz limitliyse, bootleneck uzerine bootleneck bindirmeyin derim. Her ne kadar aksi mumkun olsada, tipik iax32 ailesi 2GB gibi bellek ile basa cikabilecek mimariye sahip degil. 4-8 Processor olmasi cok onemli degil. FSB'si vs. boyle. MIPS vs. uzerinde NUMA/NUMA-Q gibi modelleri dusunmek daha mantikli. Fakat, PC dunyasida cok ucuz. En makul cozum, cluster yapmak olarak gorunuyor bu durumda..

    SWAP cetrefilli mevzu. Ben bildim bileli, Linux, NetWare, UNIX vs. uzerinde tartismasi hic bitmez. Hala bir sonuca ulasilamadi. Su meshur, RAM x 2 Formulu, her ram sayfasi icin 2 (birisi eski, digeri yeni sayfa) sayfa swap alani kullanilmasini baz alir. 128 MB RAM varsa, 2 Misli SWAP alani acarak, tum RAM sayfalarinin SWAP'ta tutulabilmesini saglarsiniz. Ama o zamanlar 8MB RAM'dan bahsediyorduk. O 8 MB uzerinde 25 kullanici aksama kadar kayit yapip is goruyordu. Kimsede yavas filan demiyordu. O donemde 512K Base Bellek, 128K kullanici basina gibi bir hesap vardi. Taa o devirlerden kalan bu formulun, gunumuzun GB'a banamisin demeyen sistemlerine uymasini beklemek biraz zor gibime geliyor.

    Acilen yeni bir formul icat etmek gerekiyor.. Umarim bunuda ABD'de birilerinin icat etmesini beklemez, tasin altina elimizi sokariz..

    Saygi ve sevgiler..

    12 Apr 2003 18:21 EEST tarihinde yazmışsınız:

    > Selamlar
    > Bu konu hakkinda soylemek ve bilmek istedigim birseyler var. Su anda =
    > kullandigimiz squid Proxy (transparan) Gunde 1500 farkli kullanici =
    > tarafindan sn de 50-60 requestle kullaniliyor. Ramin minumum 512 mb i =
    > kullaniliyor bu rakam ortalama `-65 civarinda. MEM_HIT oranlari =
    > ortalama  bana gore buyuk bir oran bu ortalama . Ama sadece log =
    > dosyasini bir program yardimiyla analiz etmek istedigimizde HDD =
    > SCSI RAID olmasina ragmen normalde 0.1 sn olan cevap suresi minimum 3-4 =
    > sn ye ye hatta bazen timed outlara yol aciyor. Serverda 512 mb swap var =
    > (Squidin kullandigi ram oranina yakin). Sistem swapa dustugu zaman bu =
    > sayfalar icin squid mem deilde swapimi kullanacak. Yoksa squid bu islem =
    > icin swap kullanmazmi?. Cunku bu durumda sistem swapa duserse Proxy =
    > cevap veremez hale gelecek muhtemelen Cunku isteklerin  u zaten hdd =
    > den alinacak ram diye tekrar hdd ye yazilacak tekrar okunacak. En =
    > azindan nelerin swap kullanacagina dair birseyler olmali. Diger server =
    > uygulamalarinda zaten RAM kullanimi cok fazla degil. 64 ramda cok buyuk =
    > olmasada sendmail DNS Web Mysql ve bikac sey calistirdim ve cok rahat =
    > aylarca calistigini gordum. Bu durumda swap sanki pek ise yaramaz =
    > birseymis gibi geliyor. Masaustu diyecek olursan=FDz DivX izlerken swap =
    > kullanima gecilirse vay filmin in haline. E bu durumda SWAP nerde ne =
    > zaman kullanilabilir ki?.=20
    >


  • Next message: SULEYMAN AYDIN: "[linux-baslangic] Re: AYIN PENGUENLERI"

    ---------

    Bu arsiv hypermail 2.1.6 tarafindan uretilmistir.