MySQL'de Yavaş Sorgu Günlüğü (Slow Query Log)
Yavaş Sorgu Günlüğü (Slow Query Log), MySQL'de belirli bir süreden daha uzun süren sorguların günlüğünü tutar. Bu günlük, yavaş ve potansiyel olarak optimize edilmesi gereken sorguları belirlemek için çok yararlı olabilir. İşte yavaş sorgu günlüğünü etkinleştirmek ve performansı izlemek için bir yol:
1. Yavaş Sorgu Günlüğünü Etkinleştirme
Yavaş sorgu günlüğünü etkinleştirmek için, MySQL yapılandırma dosyasında (my.cnf veya my.ini) aşağıdaki ayarları yapın:
[mysqld] slow_query_log = 1 slow_query_log_file = /path/to/your/logfile.log long_query_time = 1
Bu örnekte, 1 saniyeden daha uzun süren sorgular yavaş olarak kabul edilir.
Bu değişikliklerden sonra MySQL sunucusunu yeniden başlatmanız gerekir.
2. Günlüğü İzleme
Yavaş sorgu günlüğü düz metin bir dosyadır, bu yüzden herhangi bir metin düzenleyicisi veya komut satırı aracı (cat, less, tail vb.) kullanarak izlenebilir.
Örneğin, günlüğü gerçek zamanlı olarak izlemek isterseniz:
tail -f /path/to/your/logfile.log
3. Yavaş Sorguların Analizi
Günlüğü düzenli olarak incelemek, tekrarlayan yavaş sorguları belirlemenize yardımcı olabilir. Bunları EXPLAIN komutuyla inceleyerek neden yavaş olduklarını anlamaya çalışabilirsiniz.
4. Üçüncü Taraf Araçlar
Yavaş sorgu günlüğünü analiz etmek için üçüncü taraf araçlar da kullanılabilir. Örneğin, Percona Toolkit, yavaş sorgu günlüğünün analiz edilmesine yardımcı olan pt-query-digest gibi araçlar içerir.
5. Günlüğü Düzenli Olarak Döndürme
Yavaş sorgu günlüğü zamanla büyüyebilir, bu yüzden düzenli olarak döndürülmesi iyi bir fikir olabilir. Bu, logrotate gibi bir araçla yapılabilir.
Önemli Notlar:
Yavaş sorgu günlüğü, disk alanı kullanır ve ek bir yük oluşturabilir, bu yüzden ihtiyacınız olmadığında devre dışı bırakmak isteyebilirsiniz.
Hangi sorguların yavaş olarak kabul edileceğini belirlemek için long_query_time değerini özelleştirebilirsiniz.
Yavaş sorgu günlüğü, veritabanının performansını izlemek ve potansiyel performans sorunlarını belirlemek için güçlü bir araçtır. Yavaş sorguları düzenli olarak incelemek ve gerektiğinde optimize etmek, genel veritabanı performansını artırabilir.
0 Comments
Recommended Comments
There are no comments to display.