MariaDB Yavaş Sorgu Günlüğünü Açma ve Analiz Etme

Veritabanı Yönetimi 4 dakikalık okuma Güncelleme:

Sitenin yavaşladığı anlarda çoğu zaman birkaç sorgu veritabanını yorar. Yavaş sorgu günlüğü, belirlediğiniz süreyi aşan her sorguyu kaydeder.

1. Günlüğü hemen açın

SET GLOBAL slow_query_log = 1;
SET GLOBAL slow_query_log_file = '/var/log/mysql/mariadb-slow.log';
SET GLOBAL long_query_time = 2;

Bu ayar servis yeniden başlayana kadar geçerlidir ve long_query_time değişikliği yalnızca yeni bağlantılara uygulanır.

2. Kalıcı yapın

/etc/mysql/mariadb.conf.d/50-server.cnf dosyasının [mysqld] bölümüne ekleyin:

slow_query_log      = 1
slow_query_log_file = /var/log/mysql/mariadb-slow.log
long_query_time     = 2

3. Günlüğü analiz edin

sudo mysqldumpslow -s t -t 10 /var/log/mysql/mariadb-slow.log

Komut, toplam süreye göre en yavaş on sorgu kalıbını listeler.

4. Sorguyu EXPLAIN ile inceleyin

EXPLAIN SELECT * FROM siparisler WHERE musteri_id = 42;

type sütunu ALL ise tablo baştan sona taranıyordur; ilgili sütuna indeks eklemek çoğu zaman süreyi saniyelerden milisaniyelere indirir.

Not: Çok yüklü sunucularda long_query_time değerini çok düşük tutmayın; günlük dosyası hızla büyür. Bağlantı sınırı sorunları için “Too many connections” rehberine bakın.

Adımlarda takıldınız mı?

Teknik ekibimiz sunucunuza bakıp sorunu birlikte çözebilir.

WhatsApp ile yazın Destek talebi açın