Veritabanımızı biraz daha düzgün hale getirmek için çalışıyorum ve geçen hafta boyunca iyi sonuçlar aldım. Ama hala anlamadığım bazı şeyler var.
Birincisi, veritabanında 25 tablo var. Ancak mysql durumu 512'nin açık olduğunu gösteriyor: mysqladmin durumu Çalışma Süresi: 212854 Konular: 1 Sorular: 43041 Yavaş sorgular: 7 Açılış: 2605 Masayı: 1 Açık masalar: 512 Saniyede sorulan ortalama: 0,202
İsam'ın ekstra dosya tanımlayıcıları açtığını ve açık tablo sayısının 25'ten yüksek olmasının bir başka nedeni olduğunu okudum, ancak 512'nin iyi bir şey olmadığını tahmin ediyorum. Bunun neden olabileceği veya neye bakmam gerektiği konusunda herhangi bir öneriniz var mı?
Ayrıca mysqltuner kullanıyorum ve yardımcı oldu. Fakat parçalanmış tabloların sayısını 207'de tutarlı bir şekilde sıraladı. Phpmyadmin'de tüm tabloları seçtim ve birkaç kez optimize ettim. MySQL'in test ettiği parçalanmış tabloların sayısını azaltmadı.
Bunun nasıl çalıştığı hakkında bazı önemli kavramları özlüyorum galiba. Beni doğru yöne ya da google aramaları daraltmak ya da genellikle daha az ipucu vermeme yardımcı olmak için herhangi bir önerisi olan var mı?
Teşekkürler!
-------- Genel istatistikler ---------------------------------------- ---------- [-] MySQLTuner betiği için sürüm kontrolü atlandı [Tamam] Şu anda çalışıyor, MySQL 5.5.5-log versiyonunu destekliyor [Tamam] 64 bit mimaride çalışıyor -------- Depolama Motoru İstatistikleri ----------------------------------------- ---- [-] Durum: + Arşiv -BDB -Fererated + InnoDB -ISAM -NDBCluster [-] MyISAM tablolarındaki veriler: 1M (Tablolar: 254) [-] InnoDB tablolarındaki veriler: 3M (Tablolar: 199) [-] PERFORMANCE_SCHEMA tablolarındaki veriler: 0B (Tablolar: 17) [!!] Toplam parçalanmış tablo: 200 -------- Güvenlik Tavsiyeleri -------------------------------------------- --- [Tamam] Tüm veritabanı kullanıcılarının atanmış şifreleri var -------- Performans Metrikleri -------------------------------------------- --------- [-] Şunun için: 3d 12h 5m 8s (142K q [0.472 qps], 11K bağlantı, TX: 105M, RX: 37M) [-] Okur / Yazar:% 79 /% 21 [-] Toplam tampon: 202.0M global + konu başına 2.5M (100 maksimum konu) [OK] Mümkün olan maksimum hafıza kullanımı: 452.0M (kurulu RAM'in% 48'i) [Tamam] Yavaş sorgular: 0% (8 / 142K) [Tamam] Mevcut bağlantıların en yüksek kullanımı:% 9 (9/100) [Tamam] Anahtar tampon boyutu / toplam MyISAM endeksleri: 16.0M / 741.0K [OK] Anahtar tampon isabet oranı:% 99.9 (404K önbelleklenmiş / 513 okur) [OK] Sorgu önbellek verimliliği:% 72.1 (61K önbelleklenmiş / 84K seçer) [OK] Günlük sorgu önbellek kuru erik: 0 [Tamam] Geçici tablolar gerektiren sıralar: 0% (0 geçici sıralar / 1K sıralar) [!!] Diskte oluşturulan geçici tablolar:% 41 (diskte 6K / toplamda 14K) [OK] Thread cache hit rate:% 99 (9 oluşturuldu / 11K bağlantı) [!!] Tablo önbellek isabet oranı:% 15 (512 açık / 3K açık) [OK] Açık dosya limiti kullanıldı: 55% (633 / 1K) [Tamam] Tablo kilitleri hemen edinildi:% 100 (40K hemen / 40K kilitleri) [!!] Bağlantılar iptal edildi:% 7 [Tamam] InnoDB veri boyutu / tampon havuzu: 3.3M / 16.0M -------- Öneriler ------------------------------------------- ------------ Genel öneriler: Daha iyi performans için tabloları birleştirmek için OPTIMIZE TABLE komutunu çalıştırın. Ayarlamaları yaparken, tmp_table_size / max_heap_table_size değerini eşitleyin SELECT DISTINCT sorgularını LIMIT cümleleri olmadan azaltın Dosya tanımlayıcı sınırlarını önlemek için table_cache'i yavaş yavaş artırın Uygulamalarınız MySQL bağlantılarını düzgün kapatmıyor Ayarlanacak değişkenler: tmp_table_size (> 128M) max_heap_table_size (> 128M) table_cache (> 512)
mysqldump --all-databases
ve daha sonra tüm verileri yeniden MySQL veri dir silin. Ayrıca,mysqltunner.pl
buradan çıktısını almalısınız .