Öğ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
- MySQL için Azure Veritabanı esnek bir sunucu örneği oluşturun.
- Log Analytics çalışma alanı oluşturun.
Azure portalını kullanarak yavaş sorgu günlüklerini yapılandırma
Azure Portal’ında oturum açın.
MySQL için Azure Veritabanı esnek sunucu örneğinizi seçin.
Sol bölmedeki Ayarlar'ın altında Sunucu parametreleri'ni seçin.
slow_query_log parametresi için ON'ı seçin.
long_query_time ve log_slow_admin_statements gibi diğer parametreler için yavaş sorgu günlükleri belgelerine bakın.
Kaydet'i seçin.
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.
Sol bölmedeki İzleme'nin altında Tanılama ayarları'nı seçin.
Tanılama ayarları bölmesinde Tanılama ayarı ekle'yi seçin.
Ad kutusuna tanılama ayarı için bir ad girin.
İ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.
Günlük altında, günlük türü için MySqlSlowLogs onay kutusunu seçin.
Veri havuzlarını yavaş sorgu günlüklerini yöneltecek şekilde yapılandırdıktan sonra Kaydet'i seçin.
Log Analytics kullanarak sorgu içgörülerini görüntüleme
Log Analytics'te, sol bölmedeki İzleme'nin altında Günlükler'i seçin.
Açılan Sorgular penceresini kapatın.
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
Zaman aralığını seçin ve sorguyu çalıştırın. Sonuçlar aşağıdaki görüntüde görüntülenir:
Çalışma kitaplarını kullanarak sorgu içgörülerini görüntüleme
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.
Sorgu Performansı İçgörüleri şablonunu seçin.
Ç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
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
- Azure İzleyici çalışma kitapları ve zengin görselleştirme seçenekleri hakkında daha fazla bilgi edinin.
- Yavaş sorgu günlükleri hakkında daha fazla bilgi edinin.