Bir web sayfanız var ve yük altında çalışıyor ve yavaş çalışıyor. Performansı etkileyen bir çok nokta olabilir ama öncelikle database'e bakmak faydalı olabilir.
Peki ama nasıl bakacağız.
MYSQL'in kendi özelliği olan yavaş sorguları loglamayı kullanabiliriz.
Bunu nasıl yapacağız.
Öncelikle hangi sorgular bizim için yavaş bunu neye göre belirleyeceğiz. Süre bazından belirleniyor MYSQL de saniye cinsinden belirliyor. Öntanımlı olarak 10 saniye olarak belirlenen ayarı var ama bir sorgunun 10 saniyede sonuç üretmesi facia biz 1 saniyeden uzun süren sorguları araştırarak başlayabiliriz.
Bu süreyi ayarlamak için;
SET long_query_time = 1.0;
Şeklinde bir sorgu çalıştırarak değiştirebiliriz. Ön tanımlı değeri 10.0 dur. Bu değer saniye cinsinden zaman birimidir.
Logların yazmaya başlaması içinde;
SET GLOBAL slow_query_log = ON;
Şeklinde bir sorgu çalıştırmamız gerekiyor. Ön tanımlı değeri OFF dur.
Bu Log dosyasıda slow_query_log_file değişkeninden ayarlanabiliyor ama ön tanımlı olarak burada tutuluyor.
/var/run/mysqld/mysqld-slow.log
Bu log dosyasını canlı olarak izleyebilmek için bash ortamında "tail -f" komutunu kullanabiliriz.
Peki ama nasıl bakacağız.
MYSQL'in kendi özelliği olan yavaş sorguları loglamayı kullanabiliriz.
Bunu nasıl yapacağız.
Öncelikle hangi sorgular bizim için yavaş bunu neye göre belirleyeceğiz. Süre bazından belirleniyor MYSQL de saniye cinsinden belirliyor. Öntanımlı olarak 10 saniye olarak belirlenen ayarı var ama bir sorgunun 10 saniyede sonuç üretmesi facia biz 1 saniyeden uzun süren sorguları araştırarak başlayabiliriz.
Bu süreyi ayarlamak için;
SET long_query_time = 1.0;
Şeklinde bir sorgu çalıştırarak değiştirebiliriz. Ön tanımlı değeri 10.0 dur. Bu değer saniye cinsinden zaman birimidir.
Logların yazmaya başlaması içinde;
SET GLOBAL slow_query_log = ON;
Şeklinde bir sorgu çalıştırmamız gerekiyor. Ön tanımlı değeri OFF dur.
Bu Log dosyasıda slow_query_log_file değişkeninden ayarlanabiliyor ama ön tanımlı olarak burada tutuluyor.
/var/run/mysqld/mysqld-slow.log
Bu log dosyasını canlı olarak izleyebilmek için bash ortamında "tail -f" komutunu kullanabiliriz.
Yorumlar
Yorum Gönder