Mysqltuner betiği nasıl indirilir ve çalıştırılır?
wget http://mysqltuner.pl/ -O mysqltuner.pl wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/temel_parolalar.txt -O temel_parolalar.txt wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/vulnerabilities.csv -O vulnerabilities.csv chmod +x mysqltuner.pl ./mysqltuner.pl --verbose --cvefile=güvenlik açıkları.csv
Mysqltuner nasıl güncellenir?
./mysqltuner.pl --sürüm kontrolü --güncelleme sürümü
Komutun çıktısı nasıl görünüyor?
[kök@162-241-127-95 ~]# ./mysqltuner.pl --verbose --cvefile=güvenlik açıkları.csv >> MySQLTuner 1.7.25 - Binbaşı Hayden <major@mhtx.net> >> Hata raporları, özellik istekleri ve indirmeler http://mysqltuner.pl/ adresinde >> Ek seçenekler ve çıktı filtrelemesi için '--help' ile çalıştırın [Tamam] MySQLTuner'ın (1.7.25) en son sürümüne sahipsiniz [Tamam] Şu anda desteklenen MySQL sürümü 5.7.34 çalışıyor [TAMAM] 64 bit mimaride çalışıyor -------- Sistem Linux Önerileri ----------------------------------------------------------------- İlgili Linux sistem önerilerine bakın [--] CentOS Linux sürümü 7.9.2009 (Çekirdek) [--] Makine türü: Sanal makine [--] İnternet : Bağlı [--] Çekirdek CPU Sayısı : 2 [--] İşletim Sistemi Türü : GNU/Linux [--] Çekirdek Sürümü: 3.10.0-862.3.2.el7.x86_64 [--] Ana bilgisayar adı : 162-241-127-95.cprapid.com [--] Ağ Kartları : [--] eth0: flags=4163<YUKARI,YAYIN,ÇALIŞIYOR,ÇOKLU YAYIN> mtu 1500 [--] inet 162.241.127.95 ağ maskesi 255.255.254.0 yayın 162.241.127.255 [--] -- [--] lo: bayraklar=73<YUKARI,GERİ DÖNGÜ,ÇALIŞIYOR> mtu 65536 [--] inet 127.0.0.1 ağ maskesi 255.0.0.0 [--] Dahili IP : 162.241.127.95 [--] HTTP istemcisi bulundu: /usr/bin/curl [--] Harici IP : % Toplam % Alınan % Xferd Ortalama Hız Zaman Zaman Zaman Mevcut, 100 14 100 14 0 0 294 0 --:--:-- --:--:-- --:--:-- 297, 162.241.127.95 [--] Ad Sunucuları: 8.8.8.8, 8.8.4.4 [--] Giriş Yapmış Kullanıcılar : [--] kök puan/0 2021-06-29 04:05 (115.110.71.146) [--] Mb Cinsinden Ram Kullanımları : [--] toplam kullanılan ücretsiz paylaşımlı tampon/önbellek mevcut [--] Bellek: 1838 480 332 103 1025 1071 [--] Takas: 4095 46 4049 [--] Yük Ortalaması : [--] üst - 04:08:10 47 gün, 20:37, 1 kullanıcı, yük ortalaması: 0.07, 0.06, 0.05 [--] Sistem Çalışma Süresi : [--] 04:08:10 47 gündür açık, 20:37, 1 kullanıcı, yük ortalaması: 0,06, 0,05, 0,05 [--] MySQL haricindeki kullanıcı işlemi 626M RAM kullandı. [!!] MySQL hariç diğer kullanıcı işlemleri toplam fiziksel belleğin %15'inden fazlasını kullanıyordu 34.06% (626M / 1G) [--] bağlama noktası / toplam alanın %59'unu kullanıyor [--] bağlama noktası /tmp toplam alanın %1'ini kullanıyor [--] bağlama noktası / izin verilen maksimum inode'ların %2'sini kullanıyor [--] bağlama noktası /tmp izin verilen maksimum inode'ların %1'ini kullanıyor [--] Çekirdek ayarı hakkında bilgi: [--] fs.aio-maksimum-sayısı = 65536 [--] fs.aio-nr = 2661 [--] fs.dosya-max = 183831 [--] vm.takaslanma = 60 [!!] Swappiness > 10 ise, lütfen 10'dan düşük bir değere sahip olmayı düşünün [--] TCP yuvası girişleri > 100'dür. [!!] Olayların toplam sayısı < 1M'dir, lütfen 1M'den büyük bir değere sahip olmayı düşünün -------- Günlük dosyası Önerileri ----------------------------------------------------------------------- [TAMAM] Günlük dosyası /var/log/mysqld.log mevcut [--] Günlük dosyası: /var/log/mysqld.log(127K) [TAMAM] Günlük dosyası /var/log/mysqld.log boş değil [OK] Günlük dosyası /var/log/mysqld.log 32 Mb'den küçüktür [TAMAM] Günlük dosyası /var/log/mysqld.log okunabilir. [!!] /var/log/mysqld.log 282 uyarı içeriyor. [TAMAM] /var/log/mysqld.log herhangi bir hata içermiyor. [--] /var/log/mysqld.log'da 2 başlatma algılandı [--] 1) 2021-05-12T12:25:04.700835Z 0 [Not] /usr/sbin/mysqld: bağlantılara hazır. [--] 2) 2021-05-12T12:05:39.389975Z 0 [Not] /usr/sbin/mysqld: bağlantılara hazır. [--] /var/log/mysqld.log'da 1 kapatma algılandı [--] 1) 2021-05-12T12:25:02.803212Z 0 [Not] /usr/sbin/mysqld: Kapatma tamamlandı -------- Depolama Motoru İstatistikleri ---------------------------------------------------------------------- [--] Durum: +ARŞİV +KARA DELİK +CSV -FEDERATED +InnoDB +BELLEK +MRG_MYISAM +MyISAM +PERFORMANS_ŞEMASI [--] InnoDB tablolarındaki veriler: 16.0K (Tablolar: 1) [Tamam] Toplam parçalanmış tablolar: 0 -------- Analiz Performans Ölçümleri ------------------------------------------------------------------- [--] innodb_stats_on_metadata: KAPALI [TAMAM] INFORMATION_SCHEMA sorgusu sırasında istatistik güncellemesi yapılmadı. -------- Veritabanı Metrikleri ---------------------------------------------------------------------------------- [--] 0 Veritabanı var. [--] Tüm Kullanıcı Veritabanları: [--] +-- TABLO : 0 [--] +-- SATIRLAR : 0 [--] +-- VERİ : 0B(0%) [--] +-- DİZİN : 0B(0%) [--] +-- BOYUT : 0B [--] +-- COLLA : 0 (utf8_general_ci, utf8_bin, latin1_swedish_ci, NULL) [--] +-- MOTOR : 0 (BELLEK, InnoDB, MyISAM, CSV, PERFORMANS_ŞEMASI, BOŞ) -------- Tablo Sütun Ölçümleri ----------------------------------------------------------------------------- -------- Endeks Metrikleri ----------------------------------------------------------------------------------- [--] En kötü seçicilik endeksleri: -------- Güvenlik Önerileri --------------------------------------------------------------------- [Tamam] Herhangi bir veritabanı kullanıcısı için anonim hesap bulunmamaktadır [Tamam] Tüm veritabanı kullanıcılarına parolalar atandı [--] Listede 620 adet temel şifre bulunmaktadır. -------- CVE Güvenlik Önerileri ---------------------------------------------------------------- [TAMAM] SÜRÜMÜNÜZ İÇİN GÜVENLİK CVE'Sİ BULUNAMADI -------- Performans Ölçümleri ------------------------------------------------------------------------------ [--] Şu kadar: 47g 19s 43d 5s (75K q [0,018 qps], 38K bağlantı, TX: 9M, RX: 10M) [--] Okuma / Yazma: %99 / %1 [--] İkili günlük kaydı devre dışı bırakıldı [--] Fiziksel Bellek : 1.8G [--] Maksimum MySQL belleği: 38.0G [--] Diğer işlem belleği: 626,4M [--] Toplam tamponlar: 93,0M genel + iş parçacığı başına 257,1M (maksimum 151 iş parçacığı) [--] P_S Maksimum bellek kullanımı: 0B [--] Galera GCache Maksimum bellek kullanımı: 0B [--] Küresel Arabellekler [--] +-- Anahtar Arabelleği: 8,0 M [--] +-- Maksimum Sıcaklık Tablosu: 16.0M [--] Sorgu Önbellek Arabellekleri [--] +-- Sorgu Önbelleği: KAPALI - DEVRE DIŞI [--] +-- Sorgu Önbellek Boyutu: 1,0M [--] İş Parçacığı Başına Arabellekler [--] +-- Okuma Arabellek: 128.0K [--] +-- RND Arabelleğini Oku: 256.0K [--] +-- Sıralama Arabellek: 256.0K [--] +-- İş parçacığı yığını: 256.0K [--] +-- Katılım Tamponu: 256.0K [TAMAM] Ulaşılan maksimum bellek kullanımı: 864,4 M (yüklü RAM'in %47,02'si) [!!] Maksimum olası bellek kullanımı: 38.0G (yüklü RAM'in %2116.91'i) [!!] Diğer işlemle birlikte genel olası bellek kullanımı belleği aştı [TAMAM] Yavaş sorgular: %0 (0/75K) [Tamam] Mevcut bağlantıların en yüksek kullanımı: %1 (3/151) [!!] İptal edilen bağlantılar: %4,42 (1694/38285) [!!] ad çözümlemesi etkin: her yeni bağlantı için ters ad çözümlemesi yapılır ve performansı düşürebilir [Tamam] Çoklu işlemcili makinelerde karşılıklı dışlama çatışması nedeniyle sorgu önbelleği varsayılan olarak devre dışıdır. [Tamam] Geçici tablolar gerektiren sıralamalar: %0 (0 geçici sıralama / 392 sıralama) [TAMAM] Dizinler olmadan birleştirme yapılmaz [Tamam] Diskte oluşturulan geçici tablolar: %7 (diskte 4K / toplam 67K) [Tamam] İş parçacığı önbelleği isabet oranı: %99 (3 oluşturuldu / 38K bağlantı) [!!] Tablo önbelleği isabet oranı: %6 (2K açık / 30K açık) [OK] table_definition_cache(1400) tablo sayısından(280) büyüktür [Tamam] Kullanılan açık dosya sınırı: %0 (141/40K) [Tamam] Tablo kilitleri hemen alındı: %100 (14K anında / 14K kilit) -------- Performans şeması ------------------------------------------------------------------------------ [--] Performans şeması devre dışı bırakıldı. [--] P_S tarafından kullanılan bellek: 0B [--] Sistem şeması kuruldu. -------- ThreadPool Metrikleri ----------------------------------------------------------------------------- [--] ThreadPool istatistiği devre dışı bırakıldı. -------- MyISAM Metrikleri ------------------------------------------------------------------------------------ [!!] Kullanılan anahtar arabelleği: %18,4 (1M kullanıldı / 8M önbellek) [TAMAM] Anahtar arabellek boyutu / toplam MyISAM dizinleri: 8,0M/43,0K [TAMAM] Anahtar arabelleği isabet oranı: %100,0 (50K önbelleğe alındı / 17 okuma) [!!] Yazma Anahtarı arabelleği isabet oranı: %54,5 (132 önbelleğe alınmış / 72 yazma) -------- InnoDB Ölçümleri ----------------------------------------------------------------------------------- [--] InnoDB etkinleştirildi. [--] InnoDB Arabellekleri [--] +-- InnoDB Arabellek Havuzu: 52,0 M [--] +-- InnoDB Arabellek Havuzu Örnekleri: 1 [--] +-- InnoDB Arabellek Havuzu Parça Boyutu: 52.0M [--] +-- InnoDB Günlük Dosyası Boyutu: 48,0M [--] +-- InnoDB Günlük Dosyası Grupta: 2 [--] +-- InnoDB Toplam Günlük Dosyası Boyutu: 96,0M(184,615384615385 % arabellek havuzu) [--] +-- InnoDB Günlük Arabellek: 16,0 M [--] +-- InnoDB Günlük Boşluğu: 2,9K [--] +-- Kullanılan InnoDB Günlük Arabellek: 3,2K [--] InnoDB İş Parçacığı Eşzamanlılığı: 0 [OK] Tablo başına InnoDB Dosyası etkinleştirildi [TAMAM] InnoDB arabellek havuzu / veri boyutu: 52,0M/16,0K [!!] InnoDB günlük dosyası boyutu / InnoDB Arabellek havuzu boyutu oranı (%184.615384615385): 48.0M * 2/52.0M %25'e eşit olmalıdır [Tamam] InnoDB arabellek havuzu örnekleri: 1 [--] InnoDB Arabellek Havuzu Parçası Sayısı: 1 Arabellek Havuzu Örneği için 1 [Tamam] Innodb_buffer_pool_size, Innodb_buffer_pool_chunk_size ve Innodb_buffer_pool_instances ile hizalandı [Tamam] InnoDB Okuma arabelleği verimliliği: %99,92 (403838 hit/ toplam 404147) [!!] InnoDB Yazma Günlüğü verimliliği: %0 (2 isabet/ toplam 0) [TAMAM] InnoDB günlük beklemeleri: %0,00 (0 bekleme / 2 yazma) -------- Aria Metrikleri ---------------------------------------------------------------------------------------- [--] Aria Depolama Motoru kullanılamıyor. -------- TokuDB Ölçümleri ----------------------------------------------------------------------------------- [--] TokuDB devre dışı. -------- XtraDB Ölçümleri ----------------------------------------------------------------------------------- [--] XtraDB devre dışı. -------- Galera Metrikleri ----------------------------------------------------------------------------------- [--] Galera devre dışı. --------- Tekrarlama Ölçümleri ------------------------------------------------------------------------------- [--] Galera Eşzamanlı çoğaltma: HAYIR [--] Bu sunucu için çoğaltma kölesi yok. [--] Binlog biçimi: SATIR [--] XA desteği etkinleştirildi: AÇIK [--] Yarı eşzamanlı çoğaltma Ana: Etkinleştirilmemiş [--] Yarı eşzamanlı çoğaltma Köle: Etkinleştirilmemiş [--] Bu bağımsız bir sunucudur -------- Öneriler ----------------------------------------------------------------------------------- Genel öneriler: MySQL dışındaki ek işlemler için sunucuyu durdurmayı veya ayırmayı düşünün. Swappiness kurulumunu 10'dan düşük veya eşit yapın Kurulum Maksimum 1M'den fazla çalışan olay sayısı /var/log/mysqld.log dosyasına kontrol uyarı satırları ekleyin Sistemin istikrarı için genel MySQL bellek ayak izinizi azaltın En yüksek performans için bu sunucuyu veritabanınıza ayırın. Kapatılmamış bağlantıları ve ağ sorunlarını azaltın veya ortadan kaldırın Hesaplarınızı yalnızca IP veya alt ağlarla yapılandırın, ardından yapılandırmanızı skip-name-resolve=1 ile güncelleyin Dosya tanımlayıcısı sınırlarından kaçınmak için table_open_cache değerini kademeli olarak artırın table_open_cache değerini 64'ün üzerine çıkarmadan önce şunu okuyun: https://bit.ly/2Fulv7r MariaDB için artırmadan önce şunu okuyun https://mariadb.com/kb/en/library/optimizing-table_open_cache/ Bu sadece MyISAM'ın table_cache ölçeklenebilirlik sorunudur, InnoDB etkilenmez. Daha fazla ayrıntı için buraya bakın: https://bugs.mysql.com/bug.php?id=49177 Bu hata MySQL 5.7.9 ve daha yeni MySQL sürümlerinde zaten düzeltilmişti. open_files_limit (40000) değişkenine dikkat edin table_open_cache'den (2000) büyük olmalıdır Daha iyi tanılama için performans şeması etkinleştirilmelidir innodb_log_file_size ve/veya innodb_log_files_in_group'u değiştirmeden önce şunu okuyun: https://bit.ly/2TcGgtU Ayarlanacak değişkenler: *** MySQL'in maksimum bellek kullanımı tehlikeli derecede yüksek *** *** MySQL tampon değişkenlerini artırmadan önce RAM ekleyin *** AYARLARI UYGULAMAYIN çünkü BU SUNUCUDA ÇOK FAZLA İŞLEM ÇALIŞIYOR. OOM ÖLDÜRME OLABİLİR! vm.swappiness <= 10 (yankı 10 > /proc/sys/vm/swappiness) fs.aio-max-nr > 1M (yankı 1048576 > /proc/sys/fs/aio-max-nr) tablo_açık_önbellek (> 2000) performance_schema = PFS'yi etkinleştir innodb_log_file_size mümkünse (=6M) olmalıdır, böylece InnoDB toplam günlük dosyalarının boyutu arabellek havuzu boyutunun %25'ine eşit olur.
Çıktıyı aldıktan sonra ne yapmalıyız?
"Ayarlanacak değişkenler" yazan son bölümü kontrol edin. En iyi performans için hemen ayarlamamız gereken değişkenlerin bir listesini verecektir. Ayrıca, performance_schema ON olarak ayarlandığında ve MySQL sunucusunun mysqltuner'ı çalıştırmadan önce makul bir süre çalışmasına izin verildiğinde betik çıktısı daha doğru olacaktır.
Herhangi bir değişiklik yapmadan önce /etc/my.cnf dosyasını yedeklediğinizden emin olun. Dosyayı değiştirdikten sonra MySQL'i yeniden başlatmak için /scripts/restartsrv_mysql'i kullanın.
Performans İpucu
Meta veri istatistik güncellemeleri veritabanı sunucularının ve MySQLTuner'ın performansını önemli ölçüde etkileyebilir. innodb_stats_on_metadata'nın devre dışı olduğundan emin olun.
global innodb_stats_on_metadata = 0 olarak ayarlayın;