MySQL Optimizasyonu: Tıkanıklıklar

Daha önce MySQL Optimizasyonu: Indexler ve MySQL Optimizasyonu: Ayarlar başlıklı yazılarımızda MysQL optimizasyonu ile ilgili bir çok konuya değinmiştik. Şimdi yazı dizimizin son bölümü olan MySQL Optimizasyonu: Tıkanıklıklar ile karşınızdayız.

Yavaş Sorguların Tespit Edilmesi

MySQL’de tıkanıklık olmasının en büyük sebeplerinden birisi bazı sorguların yavaş çalışmasıdır. Peki hangi sorgunun yavaş çalıştığını nasıl anlayacağız? Bunun için MySQL’de slow log denilen kayıt tutma sisteminin ayarlarını düzenleyeceğiz. Bunun için MySQL ayar dosyamızda bir dizi değişiklik yapmamız gerekecek. Şimdi uçbirimi açıp root yetkilerini alalım ve aşağıdaki kod ile MySQL ayar dosyamızı düzenleyelim.

nano  /etc/mysql/my.cnf

Yukarıdaki kodu uçbirime girdiğimizde karşımıza aşağıdaki gibi bir görüntü çıkacaktır.

MySQL Optimizasyonu: Tıkanıklıklar

Şimdi Ctrl + W tuşuna basalım ve arama yerine log_slow_queries yazıp enter tuşuna basalım.

MySQL Optimizasyonu: Tıkanıklıklar

Karşımıza yukarıdaki gibi bir yer gelecektir. Klavyede bulunan ok tuşları yardımıyla long_query_time bilgisinin 2 olan değerini 1 olarak değiştiriyoruz. Ctrl + X tuşuyla  Böylece 1 saniyeden uzun süren sorgular log_slow_queries bilgisinin bulunduğu yere kaydediliyor. Buradaki log_slow_queries bilgisinin tuttuğu dosya yerini bir yere not alın çünkü ileriki aşamalarda kullanacağız.

Yavaş Çalışan Sorguların İncelenmesi

Eğer MySQL’den anlıyorsanız yavaş sorguları kendiniz inceleyebilirsiniz. Ama ben size Percona Toolkit ile gelen pt-query-digest aracını kullanmanızı tavsiye ederim. Zaman ve kullanışlılık açısından çok faydası olacaktır. Şimdi uçbirimi açalım ve aşağıdaki kodu girip analiz işlemini başlatalım.

pt-query-digest [MySQL SUNUCU] -u [KULLANICI ADI] -p [ŞİFRE] [log_slow_queries]

Yukarıdaki sorgudan sonra aracımız bize yavaş çalışan sorguları ve yavaşlıkları ile ilgili bilgiler verecek. Bu bilgiler doğrulutusunda sorgularımızda gerekli düzenlemeleri yapabiliriz.

Toplamda üç yazıdan oluşan MySQL Optimizasyonu yazı dizimizin sonuna geldik. Sorularınızı yazıların altında bulunan yorum bölümünden sorabilirsiniz.

Bir önceki yazımız olan MySQL Optimizasyonu: Ayarlar başlıklı makalemizde MySQL Ayar Değiştirme, MySQL Ayar Düzenleme ve MySQL Ayarları hakkında bilgiler verilmektedir.

About This Author

Uzun yıllardır yazılım ile uğraşıyorum. PHP ile başladığım yazılım hayatıma şu an PHP'nin yanında Swift ve Python ile devam ediyorum. Bu güne kadar bir çok proje geliştirdim ve yeni projeler geliştirmeye de devam ediyorum. Bu sitede yazılımseverlere faydalı bilgiler vermeye, yazılım geliştirmeye, öğrendiklerimi paylaşmaya, yeni başlayanlara yol göstermeye ve onlara yardımcı olmaya çalışıyorum.

Post A Reply