Özet
Microsoft SQL ServerSQL Server 2019 örneğinde yüksek hacimli veritabanı işlemleri çalıştıran ortamlar ciddi spinlock çekişmesine neden olabilir. Çekişme genellikle yeni nesil işlemciler kullanan üst düzey sistemlerde gözlemlenir.
Şiddetli spinlock çekişmesi ile ilgili olarak aşağıdaki koşullar gözlemlenebilir:
- Modern donanımlarda, özellikle Intel Skylake işlemcilerde yaygın olarak gözlemlenir. Diğer modern işlemcilerde de gözlemlenebilir.
- Genellikle çok sayıda işlemcisi olan sistemlerde gözlemlenir.
- Ortamlar, görev açısından kritik, yüksek oranda işlem tabanlı iş yükleri gibi daha fazla eşzamanlı kullanıcıya sahip olabilir.
- Belirtiler arasında beklenmedik şekilde yüksek CPU kullanımı ve belirli bir spinlock türü için çok sayıda spin ve geri çekilme olayı ve çarpışma başına daha fazla spin sayısı yer alır.
Durum
Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.
Çözüm
Döndürme kilidi iyileştirmesi ilk olarak SQL Server 2019 için Toplu Güncelleştirme 2'de kullanıma sunuldu. Aşağıdaki toplu güncelleştirmelerde SQL Server için ek geliştirmeler yapılmıştır:
- Cumulative Update 8 for SQL ServerSQL Server 2019
- SQL Server 2019 için Toplu Güncelleştirme 14
- SQL Server 2019 için Toplu Güncelleştirme 16
Çeşitli spinlock çekişme sorunlarını gidermek için bu listedeki en son toplu güncelleştirmeyi uygulamanızı öneririz.
Önemli: Döndürme kilidi sorununu düzeltebilmek için, bu listedeki CU'lardan birini uyguladıktan sonra izleme bayrağı 8101'in etkinleştirilmesi gerekir.
SQL Server toplu güncelleştirmeleri hakkında
SQL Server için her yeni toplu güncelleştirme, önceki toplu güncelleştirmeye dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. SQL Server için en son toplu güncelleştirmelere göz atın:
Sorun giderme
Spinlock çakışmasını gidermek için, SQL Server uygulamalarında yüksek CPU ve döndürme kilidi çakışmasıyla ilgili sorunların nasıl belirleneceği ve çözüleceği hakkında derinlemesine bilgi için aşağıdaki makalelere bakın:
- Teknik İnceleme: SQL Server'de spinlock çekişmesini teşhis etme ve çözme | Microsoft Learn
- SQL Server'da yüksek CPU kullanımı sorunlarını giderme | Microsoft Learn
Başvurular
Microsoft'un yazılım güncelleştirmelerini tanımlamak için kullandığı terminoloji hakkında bilgi edinin.
sys.dm_os_spinlock_stats (Transact-SQL) | Microsoft Learn
DBCC TRACEON - İzleme Bayrakları (Transact-SQL)
Üçüncü taraf bilgileri hakkında bildirim
Bu makalede açıklanan üçüncü taraf ürünleri, Microsoft'tan bağımsız şirketler tarafından üretilmektedir. Microsoft, bu ürünlerin performansı veya güvenilirliğiyle ilgili zımni veya başka türlü hiçbir garanti vermez.