Öğretici: MySQL için Azure Veritabanı için Sorgu Performansı İçgörüleri - Esnek Sunucu

ŞUNLAR IÇIN GEÇERLIDIR: MySQL için Azure Veritabanı - Esnek Sunucu

Sorgu Performansı İçgörüleri, veritabanları için akıllı sorgu analizi sağlamayı önerir. En çok tercih edilen içgörüler iş yükü desenleri ve daha uzun süre çalışan sorgulardır. Bu içgörüleri anlamak, genel performansı iyileştirmek ve kullanılabilir kaynaklarınızı verimli bir şekilde kullanmak için hangi sorguları iyileştirebileceğinizi bulmanıza yardımcı olabilir.

Sorgu Performansı İçgörüleri, aşağıdaki gibi bilgiler sağlayarak veritabanı performansı sorunlarını gidermeye daha az zaman harcamanıza yardımcı olmak için tasarlanmıştır:

  • En çok çalışan N sorgu ve eğilimleri.
  • Sorgu ayrıntıları: Yürütme geçmişini minimum, maksimum, ortalama ve standart sapma sorgu süresiyle görüntüleyin.
  • Kaynak kullanımları (CPU, bellek ve depolama).

Bu makalede, esnek MySQL için Azure Veritabanı sunucu için Sorgu Performansı İçgörülerini görselleştirmek için MySQL için Azure Veritabanı esnek sunucu yavaş sorgu günlüklerinin, Log Analytics aracının ve çalışma kitabı şablonlarının nasıl kullanılacağı açıklanır.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Azure portalını veya Azure CLI'yi kullanarak yavaş sorgu günlüklerini yapılandırma
  • Tanılamayı ayarlama
  • Log Analytics kullanarak yavaş sorgu günlüklerini görüntüleme
  • Çalışma kitaplarını kullanarak yavaş sorgu günlüklerini görüntüleme

Önkoşullar

Azure portalını kullanarak yavaş sorgu günlüklerini yapılandırma

  1. Azure Portal’ında oturum açın.

  2. MySQL için Azure Veritabanı esnek sunucu örneğinizi seçin.

  3. Sol bölmedeki Ayarlar'ın altında Sunucu parametreleri'ni seçin.

    'Sunucu parametreleri' listesini gösteren ekran görüntüsü.

  4. slow_query_log parametresi için ON'ı seçin.

    'slow_query_log' parametresinin 'AÇILDI' olarak değiştirildiğinde gösterildiği ekran görüntüsü.

  5. long_query_time ve log_slow_admin_statements gibi diğer parametreler için yavaş sorgu günlükleri belgelerine bakın.

    Yavaş sorgu günlüğüyle ilgili kalan parametreler için güncelleştirilmiş değerleri gösteren ekran görüntüsü.

  6. Kaydet'i seçin.

    Parametre değerlerindeki değişiklikleri kaydetmek için 'Kaydet' düğmesinin ekran görüntüsü.

Sunucu parametreleri sayfasını kapatarak günlük listesine dönebilirsiniz.

Azure CLI kullanarak yavaş sorgu günlüklerini yapılandırma

Alternatif olarak, aşağıdaki komutu çalıştırarak Azure CLI'dan MySQL için Azure Veritabanı esnek sunucu örneğiniz için yavaş sorgu günlüklerini etkinleştirebilir ve yapılandırabilirsiniz:

Önemli

MySQL için Azure Veritabanı esnek sunucu örneğinizin performansının büyük ölçüde etkilenmediğinden emin olmak için yalnızca denetim amaçlarınız için gereken olay türlerini ve kullanıcıları günlüğe kaydetmenizi öneririz.

  • Yavaş sorgu günlüklerini etkinleştirin.
az mysql flexible-server parameter set \
--name slow_query_log \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON
  • long_query_time süresini 10 saniye olarak ayarlayın. Bu ayar, 10 saniyeden uzun süre yürütülen tüm sorguları günlüğe kaydeder. Yavaş sorgular için tanımınıza göre bu eşiği ayarlayın.
az mysql server configuration set \
--name long_query_time \
--resource-group myresourcegroup \
--server mydemoserver \
--value 10

Tanılamayı ayarlama

Yavaş sorgu günlükleri, günlüklerinizi üç veri havuzuna aktarmanıza olanak sağlamak için Azure İzleyici tanılama ayarlarıyla tümleştirilir:

  • Log Analytics çalışma alanı
  • Olay hub'ı
  • Depolama hesabı

Not

Tanılama ayarlarını yapılandırmadan önce veri havuzlarınızı oluşturmanız gerekir. Yapılandırdığınız veri havuzlarında yavaş sorgu günlüklerine erişebilirsiniz. Günlüklerin görünmesi 10 dakika kadar sürebilir.

  1. Sol bölmedeki İzleme'nin altında Tanılama ayarları'nı seçin.

  2. Tanılama ayarları bölmesinde Tanılama ayarı ekle'yi seçin.

    'Tanılama ayarları' bölmesindeki 'Tanılama ayarı ekle' bağlantısının ekran görüntüsü.

  3. Ad kutusuna tanılama ayarı için bir ad girin.

  4. İlgili onay kutularını seçerek yavaş sorgu günlüklerinin hangi hedeflere (Log Analytics çalışma alanı, olay hub'ı veya depolama hesabı) gönderileceğini belirtin.

    Not

    Bu öğretici için yavaş sorgu günlüklerini Log Analytics çalışma alanına göndereceksiniz.

  5. Günlük altında, günlük türü için MySqlSlowLogs onay kutusunu seçin.

    Yapılandırma seçeneklerini belirlemeye yönelik 'Tanılama ayarları' bölmesinin ekran görüntüsü.

  6. Veri havuzlarını yavaş sorgu günlüklerini yöneltecek şekilde yapılandırdıktan sonra Kaydet'i seçin.

    Kaydet'in vurgulandığı Tanılama ayarları yapılandırma seçeneklerinin ekran görüntüsü.

Log Analytics kullanarak sorgu içgörülerini görüntüleme

  1. Log Analytics'te, sol bölmedeki İzleme'nin altında Günlükler'i seçin.

  2. Açılan Sorgular penceresini kapatın.

    Log Analytics 'Sorgular' bölmesinin ekran görüntüsü.

  3. Sorgu penceresinde yürütülecek sorguyu yazabilirsiniz. Belirli bir sunucuda 10 saniyeden uzun sorguları bulmak için aşağıdaki kodu kullandık:

    AzureDiagnostics
       | where Category == 'MySqlSlowLogs'
       | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s 
       | where query_time_d > 10
    
  4. Zaman aralığını seçin ve sorguyu çalıştırın. Sonuçlar aşağıdaki görüntüde görüntülenir:

    Yavaş sorgu günlüğünün ekran görüntüsü.

Çalışma kitaplarını kullanarak sorgu içgörülerini görüntüleme

  1. Azure portalının sol bölmesindeki MySQL için Azure Veritabanı esnek sunucu örneğiniz için izleme'nin altında Çalışma Kitapları'nı seçin.

  2. Sorgu Performansı İçgörüleri şablonunu seçin.

    Çalışma kitabı galerisindeki tüm çalışma kitaplarını gösteren ekran görüntüsü.

Çalışma kitabında aşağıdaki görselleştirmeleri görüntüleyebilirsiniz:

  • Sorgu Yükü
  • Toplam Etkin Bağlantı Sayısı
  • Yavaş Sorgu Eğilimi (>10 sn Sorgu Süresi)
  • Yavaş Sorgu Ayrıntıları
  • En uzun 5 sorgu listele
  • Yavaş sorguları minimum, maksimum, ortalama ve standart sapma sorgu süresine göre özetleme

İki uzun sorgu gösteren ekran görüntüsü.

Not

  • Kaynak kullanımını görüntülemek için Genel Bakış şablonunu kullanabilirsiniz.
  • Ayrıca bu şablonları düzenleyebilir ve gereksinimlerinize göre özelleştirebilirsiniz. Daha fazla bilgi için bkz . Azure Çalışma Kitapları.
  • Hızlı bir görünüm için çalışma kitaplarını veya Log Analytics sorgusunu Panonuza da sabitleyebilirsiniz. Daha fazla bilgi için bkz . Azure portalında pano oluşturma.

Sorgu Performansı İçgörüleri'nde, olası performans sorunlarını bulmanıza yardımcı olabilecek iki ölçüm süre ve yürütme sayısıdır. Uzun süre çalışan sorgular kaynakları daha uzun süre kilitleme, diğer kullanıcıları engelleme ve ölçeklenebilirliği sınırlama açısından en büyük potansiyele sahiptir.

Bazı durumlarda, yüksek yürütme sayısı daha fazla ağ gidiş dönüşlerine yol açabilir. Gidiş dönüşler performansı etkiler. Ağ gecikme süresine ve aşağı akış sunucusu gecikme süresine tabidir. Bu nedenle yürütme sayısı sık yürütülen ("gevece") sorguları bulmanıza yardımcı olabilir. Bu sorgular iyileştirme için en iyi adaylardır.

Sonraki adımlar