SORU
2 EKİM 2010, CUMARTESİ


MySQL "Anahtarı Verimlilik"

MySQL Tezgah değer "" dernek server sağlık. Anahtar Verimlilik adlı raporları Bu ne anlama gelir ve sonuçları nelerdir?

alt text

MySQL.com, "Anahtar Verimlilik"

...sayısı bir göstergesikey_read_requestsgerçek sonuçlandıkey_reads.

Tamam, Peki bu ne demek oluyor. Sunucu ayar yapacağım hakkında bana ne söyler?

CEVAP
4 EKİM 2010, PAZARTESİ


""Dizin önbelleğe MySQL bellek içinde düzenlenen alıyorsanız nasıl bir göstergesidir. anahtar Verimlilik Eğer anahtar verimlilik yüksek ise, genellikle MySQL diskten ilgili endeks blok almak zorunda çok daha hızlı olan bellek alanı içinde anahtar aramaları gerçekleştiriyor.

Anahtar verimliliğini artırmak için yol MySQL dizin önbelleğe bellek yuvası, daha adamak için. Bunu nasıl kullandığınız depolama motoru bağlıdır. Hali hazırda, anahtar-tampon boyutu değerini artırın. Orada, orada-arabellek havuzu boyutu değerini artırın.

Ancak Michael Eakins belirttiği gibi, işletim sistemi de son erişilen sahip olan disk blokları önbelleğe tutar. İşletim sisteminizde mevcut olan hafıza, daha fazla önbellek olabilir disk engeller. Ayrıca, disk sürücüleri, kendilerini (ve bazı durumlarda disk denetleyicileri), ayrıca yine diskten veri alma hızı olan önbelleğe sahip. Hiyerarşi böyle biraz

  1. hızlı dizin veri alma MySQL dizin önbellek içinden. Maliyeti az bir bellek işlemleri.
  2. OS dosya sisteminde tutulan endeks verileri önbelleğe alma. Maliyeti bir sistem çağrısı (okuma için), ve bazı bellek işlemleri.
  3. disk sistem önbelleği (denetleyici ve sürücüler) tutulur alma Endeksi verileri. Maliyeti bir sistem çağrısı (okuma için), disk aygıtı ile iletişim, ve bazı bellek işlemleri.
  4. yavaş, endeks verileri disk yüzeyinden. Maliyeti diskin aygıt, fiziksel hareketi (kol hareketi döndürme) sistem çağrısı, bir iletişimdir.

Uygulamada, 1 ve 2 arasındaki farkı sistem çok meşgul değilse, neredeyse farkedilemez. Ayrıca, senaryo 3 oyuna gelecek Olası sistem disk denetleyicisi daha az boş RAM olmadığı sürece).

Ben kullanılan sunucuları ile hali hazırda tablolar ile nispeten küçük dizin önbelleğe (512MB) ama büyük bellek (64 GB) ve yemin zor göstermek için değeri artan boyutu dizin önbellek. Sunucunuz üzerinde ne olup bittiğini bağlı sanırım. Eğer çalışan tüm MySQL veri tabanı, işletim sistemi önbelleği oldukça etkili olacağı kuvvetle muhtemeldir. Aynı sunucuda başka işlerde çalıştırmak ve bu bellek / disk erişimi çok kullanırsanız, o zaman bu değerli önbelleğe alınan dizin blok MySQL disk isabet lider daha sık tahliye olabilir.

İlginç bir egzersiz eğer zamanınız varsa () sistemi ile tamircilik yavaş çalışmasını sağlamak. Büyük bir tablo üzerinde standart bir iş yükü çalıştıran etkisini fark olana kadar MySQL arabellekleri azaltmak. Büyük miktarlarda (daha büyük RAM) dosya sistemi ile alakasız veri ( kedi büyük dosya >pompalama tarafından dosya sistemi önbelleği temizleme /null/dev ). Sorguları çalıştırmak gibi iostat izle.

""Ne kadar iyi anahtar bunlar bir ölçü DEĞİL. anahtar Verimlilik İyi tasarlanmış daha yüksek performans üzerinde çok büyük bir etkisi olacaktır "Anahtar Verimlilik". MySQL bu konuda yardım etmeyi çok, ne yazık ki yok.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HSmasteryoda .

    HSmasteryoda

    22 Ocak 2010
  • ShoSho

    ShoSho

    20 Ocak 2010
  • TeachMeComputer

    TeachMeCompu

    31 EKİM 2009