Bu konuda, veritabanınızda meta veri kilidi (MDL) bekleme analizi ve işlem engelleme analizi yapmak için DAS kilit analizi özelliğinin nasıl kullanılacağı açıklanmaktadır.
Bu belgedeki görsellerde gösterilen veriler test senaryolarından alınmıştır. Gerçek kullanımda iş parçacığı kimliği ve SQL deyimleri gibi gerçek verilerinize güvenin.
Ön koşullar
-
Hedef veritabanı motoru:
RDS MySQL
PolarDB for MySQL
Hedef veritabanı örneği DAS'a bağlıdır ve erişim durumu Normal Access olarak görünür. Bir veritabanı örneğini bağlama hakkında ayrıntılı bilgi için bkz. Bir veritabanı örneği bağlayın.
-
Alibaba Cloud Managed Services'ı (eski adıyla DAS Economy Edition) etkinleştirdiniz.
ÖnemliAlibaba Cloud Managed Services (eski adıyla DAS Economy Edition) yalnızca belirli bölgelerde kullanılabilir. Ayrıntılar için bkz. Sürüme göre desteklenen veritabanları ve bölgeler.
Alibaba Cloud Managed Services'ı (eski adıyla DAS Economy Edition) etkinleştirmek için bkz. Alibaba Cloud Managed Services'ı yönetin (eski adıyla DAS Economy Edition).
Kilit türleri
-
Meta veri kilidi (MDL) analizi
Analiz edilen veriler:
information_schema.processlistgibi tablolardaki verileri kullanarak kilit bekleme ilişkilerini çıkarır ve bir ilişki grafiği oluşturur.
-
İşlem engelleme analizi
Önemliİşlem engelleme analizi PolarDB for MySQL 5.6 örneklerinde desteklenmez.
-
Analiz edilen veriler:
information_schema.processlist,information_schema.innodb_trxve aşağıdaki tablolardaki verileri kullanarak işlem engelleme ilişkilerini analiz eder ve bir ilişki grafiği oluşturur.RDS MySQL 5.6 ve 5.7:
information_schema.innodb_lock_waitsPolarDB for MySQL 5.7:
information_schema.innodb_lock_waitsRDS MySQL ve PolarDB for MySQL 8.0:
performance_schema.data_lock_waits
-
Parametre ayarları: RDS MySQL 8.0 ve PolarDB for MySQL 8.0 örnekleri için
performance_schemaparametresini etkinleştirmeniz gerekir. Örnek parametrelerini değiştirmek için:RDS MySQL için bkz. Örnek parametrelerini ayarlayın.
PolarDB for MySQL için bkz. Küme ve düğüm parametrelerini ayarlayın.
-
Tetikleme yöntemleri
Kilit analizi – Talep üzerine analiz: Kilit Analizi sayfasında diğer kilit analizini manuel olarak tetikleyin.
Örnek oturumları – Otomatik analiz: Örnek Oturumları sayfasını yenilediğinizde diğer kilit analizi otomatik olarak çalışır.
Kilit analizi – Talep üzerine analiz
Analiz oluşturma
DAS konsoluna giriş yapın.
Sol gezinme bölmesinde seçeneğine tıklayın.
Hedef örneği bulun ve örnek ayrıntıları sayfasını açmak için örnek kimliğine tıklayın.
Sol gezinme bölmesinde Lock Analysis seçeneğine tıklayın. Lock Analysis sayfasında, Other Lock Analysis altında bir analiz başlatmak için Create Analysis seçeneğine tıklayın.
Ayrıntıları görüntüleme
Bir tanılama sonucunun yanındaki ok simgesine (
) tıklayarak meta veri kilidi beklemeleri ve işlem engellemeleriyle ilgili ayrıntıları görüntüleyin. Other Lock Analysis sayfasında bir tanılama kaydını genişlettikten sonra Metadata Lock (2 engellenen oturum) ve Transaction Lock (2 engellenen oturum) gibi kilit türü ayrıntılarını görebilirsiniz. Belirli engelleme bilgilerini görmek için bir kilit türünün yanındaki View Details seçeneğine tıklayın.
İşlem kilidi ayrıntıları
Listede bir işlem kilidi için Actions sütunundaki View Details seçeneğine tıklayarak ayrıntılı işlem kilidi bilgilerini görüntülemenin iki yolunu inceleyin:
Liste: İşlem kilidi ayrıntıları listesi, engellenen işlemlerle ilgili bilgileri tablo biçiminde gösterir. Bu tabloda kimlik, kullanıcı, ana bilgisayar, veritabanı adı, komut ve engellenen işlem için sütunlar bulunur. Engellenen işlemle ilgili ayrıntılı bilgileri (kimlik, kullanıcı, ana bilgisayar, veritabanı adı, komut, çalışma süresi (saniye cinsinden), durum ve SQL deyimi dahil) gösteren bir açılır pencere açmak için Blocked Transaction sütunundaki View Details bağlantısına tıklayın.
Görünüm: View sekmesi, işlem kilidi bağımlılıklarını görsel bir grafik olarak gösterir. Kilitleri tutan oturumlar üstte yer alır ve LOCK WAIT bağlayıcıları kilit bekleyen oturumlara işaret eder. ID, Transaction Resolution, Rows Locked by Transaction, Tables Locked by Transaction ve Rows Updated by Transaction bilgilerini gösteren bir ayrıntılar panelini genişletmek için bir oturum düğümüne tıklayın.
Meta veri kilidi ayrıntıları
Listede bir meta veri kilidi için Actions sütunundaki View Details seçeneğine tıklayarak meta veri kilidi ayrıntılarının görsel temsilini görüntüleyin. Görünümde, alt kısmında ayrıntılı bilgilerini görmek için bir oturum bloğuna tıklayın. Ayrıca bu sayfadan ilgili oturumları sonlandırabilirsiniz. Meta veri kilidi tanılama sayfası; Suspicious Session (1) Metadata Lock, Table students DDL Session (1) ve Table students Other Session (1) olmak üzere üç düğümden oluşan bir kilit ilişki grafiği gösterir. "Waiting for table metadata lock" etiketli oklar bekleme ilişkilerini belirtir. Şüpheli oturumu genişlettiğinizde kimlik 197889, kullanıcı das, kısmen maskelenmiş ana bilgisayar adresi, veritabanı das, komut Sleep ve 176 saniyelik çalışma süresi görülebilir. Alt kısımda meta veri kilidi sorunlarını çözmeye yardımcı olan üç eylem düğmesi bulunur: Kill Selected Session, Kill All Suspicious Sessions ve Kill All DDL Statements.
SQL Explorer ve denetim analizi ile birleştirme
Sleep durumunda olan şüpheli bir oturum, bir işlem başlatmış, SQL deyimleri yürütmüş ancak henüz commit veya rollback yapmamış olabileceğinden SQL bilgisi göstermeyebilir. Bu durumda, hedef örneğin sol gezinme bölmesinde SQL Explorer and Audit seçeneğine tıklayın. Audit sayfasında Enable Advanced Query seçeneğine tıklayın, şüpheli oturumun iş parçacığı kimliğini girin ve bu oturum tarafından yürütülen SQL deyimlerini sorgulayın. Örneğin, commit edilmemiş bir işlem kilit beklemelerine neden olmuş olabilir. Audit sekmesinde Set Query Conditions gelişmiş sorgu formunu genişletin, zaman aralığını 4 Kasım 2024 14:34:49 ile 4 Kasım 2024 16:49:49 arasında ayarlayın, Thread ID alanına 197889 girin ve Query seçeneğine tıklayın. Aşağıdaki Log List, bu iş parçacığı tarafından belirtilen süre içinde yürütülen SQL kayıtlarını gösterir. Bu kayıtlar arasında 2024-11-04 16:27:22.426 tarihinde yürütülen update students set name=UUID() where id = 3 ve 2024-11-04 16:27:21.322 tarihinde yürütülen begin bulunmaktadır.
Örnek oturumları – Otomatik analiz
Yordam
DAS konsoluna giriş yapın.
Sol gezinme bölmesinde seçeneğine tıklayın.
Hedef örneği bulun ve örnek ayrıntıları sayfasını açmak için örnek kimliğine tıklayın.
Sol gezinme bölmesinde Instance Sessions seçeneğine tıklayın. Session Management sayfasında diğer kilit analizi otomatik olarak çalışır ve sonuçlar sağ üst köşede görünür. Örnek ayrıntıları Sessions sayfasında, üstteki ölçüm alanında Lock Wait Exists durumunu kontrol edin. No gösteriyorsa kilit bekleme yoktur. Kilit beklemelerini daha fazla analiz etmek için View Details seçeneğine tıklayın.
Instance Sessions sayfasında ayrıntıları görüntüleme
Instance Sessions sayfasında kilit bekleme varsa, bir çekmecede işlem kilitlerini (varsa) ve meta veri kilitlerini (varsa) görmek için View Details seçeneğine tıklayın. DAS örneği Sessions sayfasında üstteki ölçüm alanında 6 etkin oturum, %0,3 CPU kullanımı, %0,1 bağlantı kullanımı, 4 anormal oturum ve Lock Wait Exists durumu Yes olarak gösterilir. Aşağıdaki oturum listesinde bazı oturumlar "Waiting for table metadata lock" durumunu gösterir; bu durum kilit bekleme engellemesini işaret eder. Kilit bekleme ilişkilerini daha fazla analiz etmek için View Details seçeneğine tıklayın.
İşlem kilidi ayrıntıları
Listede bir işlem kilidi için Actions sütunundaki View Details seçeneğine tıklayarak iki görüntüleme seçeneğini (Liste ve Görünüm) inceleyin. Bu seçenekler talep üzerine analizdekiyle aynı şekilde çalışır. Ayrıntılar için bkz. Talep üzerine analiz – İşlem kilidi ayrıntıları.
Lock Wait açılır penceresinde Transaction Lock sekmesi, Lock Type ve Blocked Sessions bilgilerini gösteren bir tablo sunar.
Meta veri kilidi ayrıntıları
Listede bir meta veri kilidi için Actions sütunundaki View Details seçeneğine tıklayarak meta veri kilidi ayrıntılarının görsel temsilini inceleyin. Bu yöntem talep üzerine analizdekiyle aynıdır. Ayrıntılar için bkz. Talep üzerine analiz – Meta veri kilidi ayrıntıları.
Lock Wait açılır penceresinde Metadata Lock sekmesi, kilit tutma ve bekleme ilişkilerinin görsel bir grafiğini gösterir.
Lock Analysis sayfasında ayrıntıları görüntüleme
Lock Analysis sayfasında, Instance Sessions sayfasında otomatik olarak tetiklenen diğer kilit analizlerinden elde edilen geçmiş istatistikleri görüntülemek için bir tanılama sonucunun yanındaki ok simgesine (
) tıklayın. Görüntüleme yöntemi talep üzerine analizdekiyle aynıdır. Ayrıntılar için bkz. Talep üzerine analiz – Ayrıntıları görüntüleme. Other Lock Analysis sayfasında bir zaman aralığı seçin, View seçeneğine tıklayın, Lock Found durumu Yes olan bir tanılama kaydı bulun, bunu genişletin ve kilit türlerini (meta veri kilidi, işlem kilidi) ile bunların engellenen oturum sayılarını görüntüleyin. Kilit ayrıntıları sayfasına gitmek için View Details seçeneğine tıklayın.