MySQL için Azure Veritabanı - Esnek Sunucuda yavaş sorgu günlükleri
ŞUNLAR IÇIN GEÇERLIDIR: MySQL için Azure Veritabanı - Esnek Sunucu
Esnek MySQL için Azure Veritabanı sunucuda yavaş sorgu günlüğü, kullanıcıların yapılandırması ve erişimi için kullanılabilir. Yavaş sorgu günlükleri varsayılan olarak devre dışıdır ve sorun giderme sırasında performans sorunlarını tanımlamaya yardımcı olmak için etkinleştirilebilir.
MySQL yavaş sorgu günlüğü hakkında daha fazla bilgi için MySQL altyapısı belgelerindeki yavaş sorgu günlüğü bölümüne bakın.
Yavaş sorgu günlüğünü yapılandırma
Varsayılan olarak, yavaş sorgu günlüğü devre dışı bırakılır. Günlükleri etkinleştirmek için sunucu parametresini slow_query_log
ON olarak ayarlayın. Bu, Azure portalı veya Azure CLI kullanılarak yapılandırılabilir.
Yavaş sorgu günlüğü davranışını denetlemek için ayarlayabileceğiniz diğer parametreler şunlardır:
- long_query_time: Tamamlanması daha
long_query_time
uzun sürüyorsa (saniye olarak) bir sorguyu günlüğe kaydedin. Varsayılan değer 10 saniyedir. Sunucu parametresilong_query_time
MySQL'de yeni kurulan tüm bağlantılar için genel olarak geçerlidir. Ancak, zaten bağlı olan iş parçacıklarını etkilemez. Uygulamadan esnek MySQL için Azure Veritabanı sunucuya yeniden bağlanmanız önerilir veya sunucuyu yeniden başlatmak, "long_query_time" eski değerlerine sahip iş parçacıklarını temizlemeye ve güncelleştirilmiş parametre değerini uygulamaya yardımcı olur. - log_slow_admin_statements: Yönetim deyimlerinin (örn.
ALTER_TABLE
,ANALYZE_TABLE
) günlüğe kaydedilip kaydedilmediğini belirler. - log_queries_not_using_indexes: Dizin kullanmayan sorguların günlüğe kaydedilip kaydedilmediğini belirler.
- log_throttle_queries_not_using_indexes: Yavaş sorgu günlüğüne yazılabilir dizine alınamayan sorgu sayısını sınırlar. Bu parametre ON olarak ayarlandığında geçerlilik
log_queries_not_using_indexes
kazanır
Önemli
Tablolarınız dizine alınmadıysa ve log_throttle_queries_not_using_indexes
parametrelerini ON log_queries_not_using_indexes
olarak ayarlamak MySQL performansını etkileyebilir çünkü bu dizine alınmamış tablolarda çalıştırılan tüm sorgular yavaş sorgu günlüğüne yazılır.
Yavaş sorgu günlüğü parametrelerinin tam açıklamaları için MySQL yavaş sorgu günlüğü belgelerine bakın.
Yavaş sorgu günlüklerine erişme
Yavaş sorgu günlükleri Azure İzleyici tanılama ayarlarıyla tümleştirilir. MySQL için Azure Veritabanı esnek sunucu örneğinizde yavaş sorgu günlüklerini etkinleştirdikten sonra bunları Azure İzleyici günlüklerine, Event Hubs'a veya Azure Depolama'ya yayabilirsiniz. Tanılama ayarları hakkında daha fazla bilgi edinmek için tanılama günlükleri belgelerine bakın. Azure portalında tanılama ayarlarını etkinleştirme hakkında daha fazla bilgi edinmek için yavaş sorgu günlüğü portalı makalesine bakın.
Not
Günlükleri tanılama ve ayarlar aracılığıyla Azure depolamaya gönderiyorsanız Premium Depolama hesapları desteklenmez.
Aşağıdaki tabloda yavaş sorgu günlüğünün çıkışı açıklanmaktadır. Çıkış yöntemine bağlı olarak, dahil edilen alanlar ve bunların görüntülenme sırası değişebilir.
Özellik | Açıklama |
---|---|
TenantId |
Kiracı kimliğiniz |
SourceSystem |
Azure |
TimeGenerated [UTC] |
Günlüğün UTC olarak kaydedildiği zaman damgası |
Type |
Günlüğün türü. Her zaman AzureDiagnostics |
SubscriptionId |
Sunucunun ait olduğu abonelik için GUID |
ResourceGroup |
Sunucunun ait olduğu kaynak grubunun adı |
ResourceProvider |
Kaynak sağlayıcısının adı. Her zaman MICROSOFT.DBFORMYSQL |
ResourceType |
Servers |
ResourceId |
Kaynak URI |
Resource |
sunucusunun adı |
Category |
MySqlSlowLogs |
OperationName |
LogEvent |
Logical_server_name_s |
sunucusunun adı |
start_time_t [UTC] |
Sorgunun başladığı zaman |
query_time_s |
Sorgunun yürütülmesi için geçen toplam saniye sayısı |
lock_time_s |
Sorgunun kilitlendiği saniye içindeki toplam süre |
user_host_s |
Username |
rows_sent_s |
Gönderilen satır sayısı |
rows_examined_s |
İncelenen satır sayısı |
last_insert_id_s |
last_insert_id |
insert_id_s |
Kimlik Ekle |
sql_text_s |
Tam sorgu |
server_id_s |
Sunucunun kimliği |
thread_id_s |
İş Parçacığı Kimliği |
\_ResourceId |
Kaynak URI |
Not
için sql_text_s
, 2048 karakteri aşarsa günlük kesilir.
Azure İzleyici Günlüklerinde günlükleri analiz etme
Yavaş sorgu günlükleriniz Tanılama Günlükleri aracılığıyla Azure İzleyici Günlüklerine bağlandıktan sonra yavaş sorgularınızın daha fazla analizini gerçekleştirebilirsiniz. Başlamanıza yardımcı olacak bazı örnek sorgular aşağıda verilmiştir. Aşağıdakini sunucu adınız ile güncelleştirdiğinden emin olun.
Belirli bir sunucuda 10 saniyeden uzun sorgular
AzureDiagnostics | where Resource == '<your server name>' | where Category == 'MySqlSlowLogs' | project TimeGenerated, Resource , event_class_s, start_time_t , query_time_d, sql_text_s | where query_time_d > 10
Belirli bir sunucuda en uzun 5 sorgu listeleme
AzureDiagnostics | where Resource == '<your server name>' | where Category == 'MySqlSlowLogs' | project TimeGenerated, Resource , event_class_s, start_time_t , query_time_d, sql_text_s | order by query_time_d desc | take 5
Belirli bir sunucuda yavaş sorguları minimum, maksimum, ortalama ve standart sapma sorgu süresine göre özetleme
AzureDiagnostics | where Resource == '<your server name>' | where Category == 'MySqlSlowLogs' | project TimeGenerated, Resource , event_class_s, start_time_t , query_time_d, sql_text_s | summarize count(), min(query_time_d), max(query_time_d), avg(query_time_d), stdev(query_time_d), percentile(query_time_d, 95) by Resource
Belirli bir sunucudaki yavaş sorgu dağılımının grafiğini oluşturma
AzureDiagnostics | where Resource == '<your server name>' | where Category == 'MySqlSlowLogs' | project TimeGenerated, Resource , event_class_s, start_time_t , query_time_d, sql_text_s | summarize count() by Resource , bin(TimeGenerated, 5m) | render timechart
Tanılama Günlükleri etkin MySQL için Azure Veritabanı tüm esnek sunucu örneklerinde 10 saniyeden uzun sorguları görüntüleme
AzureDiagnostics | where Category == 'MySqlSlowLogs' | project TimeGenerated, Resource , event_class_s, start_time_t , query_time_d, sql_text_s | where query_time_d > 10
Sonraki adımlar
- Denetim günlükleri hakkında daha fazla bilgi edinin
- Sorgu performansı içgörüleri