Paralellik maliyet eşiğinde ne zaman değişiklik yapılır?


10

Bir performans sorununu incelerken, CXPACKETS üzerinde paralellik ve belki de MAXDOP için maliyet eşiğine bakmam gerekebileceğini düşündüren bir akış gördüm .

MAXDOP'ta herhangi bir ciddi değişiklik yapmadan önce, CXPACKET'in cevabında mrdenny de dahil olmak üzere diğerlerinin tavsiyelerini izlemekteyim SQL Server 2008 ve @ aron-Bertrand'ın CXPACKET ile başa çıkma yanıtından yanıt beklemesi - maliyet eşiğini ayarlama Paralellik için . İstatistikleri her gece tamamen güncellemek için bakıma ekledim. Bu mantıklı bir hareket gibi geliyor.

Bununla birlikte, maliyet eşiğinde değişiklik yapmak hala beni rahatsız eden bir şey.

Paralellik için maliyet eşiği hangi noktada değiştirilmelidir? Herhangi birinin (sorgularının maliyetini ve iş yükünü inceledikten sonra) bu maliyette nerede değişiklik yaptıklarıyla ilgili bir örneği var mı?

Bu, önceki bir soruda cevaplanan bir şeyse özür diler.

Teşekkürler!

Yanıtlar:


3

MAXDOP = 1 kullanmak yardımcı olabilir, ancak büyük bir silah. Asıl sorun, indekslerin kullanışlılığı olabilir. Belki yeni veya farklı bir dizin sorunu çözebilir.

Denny ve Aaron Bertrand'ın yorumlarını takiben, bu bağlantıda başka hangi beklemelerin CXPACKET'in beklemesinin nedeni olduğunu keşfettiniz mi?

Jonathan Kehayias, paralellik deneyiminizi değerlendirmenize ve daha düşünceli bir karar vermenize yardımcı olabilecek bir sorgu önerdi. Ancak Jonathan ve Paul White arasındaki sohbeti de okumalısınız.

https://www.sqlskills.com/blogs/jonathan/tuning-cost-threshold-for-parallelism-from-the-plan-cache/


1

Ben varsayılan olarak 0 varsayılan ayar (tüm kullanılabilir iş parçacıklarını kullanın) kullanılabilir tüm iş parçacığı tüketen kaçak bir sorgu iş parçacığı açlık yol açacaktır gibi tehlikeli olabilir gibi MAXDOP ayarlarına bakmanızı öneririm.

Sunucu örneğiniz için MAXDOP ayarını nasıl hesaplayacağınız için buradaki cevabım bölümüne bakın .

Paralelliğin maliyet eşiği, Paralellik optimize edici tarafından dikkate alınmadan önce minimum sorgu maliyetinin ne olması gerektiğini ifade eder.

CXPACKET'in beklediğini hatırlatan sadece sorgu ile ilgili bir şeylerin yanlış olması nedeniyle belirtiler - eski istatistikler veya eksik veya kötü bir planla sonuçlanan eksik dizin.

Jonathan tarafından Plan Önbelleğinden ve Paralellik için Maliyet Eşiği'nden 'paralellik için maliyet eşiğini ayarlama' bölümünde açıklandığı gibi plan önbelleğindeki bilgileri çıkarmak için sys.dm_exec_cached_plansve sys.dm_exec_query_planDMV'leri kullanabilirsiniz .

cost threshold for parallelismKaynakları ayarlama sorguları bitmiş, Dizin ve istatistik bakım yapıyor ve sorgunuz fayda sağlayabilir herhangi bir eksik dizin yoksa olup olmadığını kontrol sürece varsayılan olarak tutmak öneririz .

Not: Maxdop ayarı OPTION (MAXDOP n), sunucu genelindeki ayarı geçersiz kılacak şekilde sorgu düzeyinde de uygulanabilir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.