Mark Nielsen tarafından Yazar hakkında: Yazar The Computer Underground, Inc.'da Linux "geek" olarak çalışır ve boş şeyler ve önemsiz projeler yapmaktan hoşlanır çünkü o bilgisayarları eğlence olarak kabul eder. Mark aynı zamanda ZING'de yardımcı gönüllü olarak çalışır www.genericbooks.com ve deneme sürümünün,ücretsiz yazılımın ve tarihçesinin reklamını yapmak için çalışır. İçerik: |
Özet:
Bu makale RAMDISK kullanılarak nasıl PostgreSQL veri sunucusunun hızlandırılacağını göstermektedir.
Ramdisk, sabit diskmiş gibi kullanılmak için olan hafızadır.Ramdisk'i kullandığınız her zaman,aslında sabit diski değil de hafızayı kullanıyorsunuzdur.Esas olarak en büyük avantaj hafızayı kullandığınız halde,yaptığınız herşey daha hızlı olacaktır çünkü sabit diskiniz hafızanızdan daha yavaştır.En büyük dezavantaj ise eğer veri sunucunuzda bir değişiklik yaparsanız veya bilgisayarınızı yeniden başlattığınızda bütün değişiklikleri kaybetmenizdir.
PostgreSQL veri tabanı sunucusu için eğer tüm veri tabanlarını hafızaya yüklerseniz hızı arttırmış olursunuz.
mkdir -p /Test mkfs -t ext2 /dev/ram0 mount /dev/ram0 /TestEğer bu işlem çalışmazsa o zaman çekirdekte derlenmiş ramdisk desteği olmayabilir.Bunu sağlamak için gerekli olabilecek olan CONFIG_BLK_DEV_RAM çekirdek konfigürasyon seçeneğidir.
Üstte yazılanlar 4Mb'nin altı için geçerli boşluğu olan ramdiski sağlar. Ramdisk Article'a bakıp bunu nasıl örneğin 50Mb'a değiştirebileceğinizi görebilirsiniz.
NOT: Lilo.conf dosyanızdaki ramdisk seçeneğini veritabanı sunucunuzun büyüklüğünden daha büyük olarak seçtiğinizi varsaydık.Yaklaşık büyüklüğü bulmanız gerekirse "cd /var/lib/pgsql; du " komutunu kullanın.
Bununla beraber, "/var/lib/pgsql"da yüklenmiş olan geçerli postgresql sunucunuzu alıp hafızaya yerleştirmek için, şunu yapın,
### Geçerli postgresql sunucunuzu durdurun /etc/rc.d/init.d/postgres stop ### Geçerli dizini yeniden adlandırın mv /var/lib/pgsql /var/lib/pgsql_main #### Ramdisk'iniz için bir dizin yaratın mkdir -p /var/lib/pgsql_memory #### Yeni dizinin sahipliğini postgres veya asıl sahibi ne ise #### o olacak şekilde değiştiriniz. chown postgres /var/lib/pgsql_memory #### Orjinal ada (/var/lib/pgsql) bir alias (takma ad) veya link (bağ) yapin ln -s /var/lib/pgsql_memory /var/lib/pgsql #### Ramdisk'i formatlayin mkfs -t ext2 /dev/ram0 #### Ramdisk'i postgresql dizinine tanıtın mount /dev/ram0 /var/lib/pgsql_memory #### Anadizindeki herşeyi ramdiskin içine kopyalayın tar -C /var/lib/pgsql_main -cp . | tar -C /var/lib/pgsql_memory -xp ### Geçerli postgresql sunucusunu başlatın /etc/rc.d/init.d/postgres start
Farkettiğim şudur ki; veri, sistem tarafından önbelleğe alındığı zaman, performans kazancı çok fazla değildir, aşağı yukarı 10% veya 20%. Veritabanının içine çok miktarda tek veri pompalandığı zaman performans, dramatik bir şekilde, azalır.
Ramdisk hilesinde en büyük avantaj şudur, veritabanını hafızada kalmaya zorlarsınız ve sabit disk sürücüyü kullanmaktan kaçınırsınız. Ramdisk'i kullanmazsaniz, veritabanınız sonuçta muhtemelen önbellektekiylen değiştirilecek, ve sonra tekrar kullanıldığında, sabit disk sürücüsünden yeniden yüklemesi gerekecektir.
Websayfalarının
bakımı
LinuxFocus Editor team tarafından yapılır
© Mark Nielsen LinuxFocus 1999 |
1999-11-01, lfparser versiyon 0.8 tarafından meydana getirildi