Aracılığıyla paylaş


Sunucu yapılandırması: paralellik için maliyet eşiği

Şunlar için geçerlidir:SQL ServerAzure SQL Yönetilen Örneği

Bu makalede, SQL Server Management Studio veya Transact-SQL kullanarak SQL Server'da sunucu yapılandırma seçeneğinin nasıl yapılandırıldığı cost threshold for parallelism açıklanır.

Paralellik için maliyet eşiği hakkında

seçeneği, cost threshold for parallelism SQL Server'ın birden fazla mantıksal işlemciye sahip bilgisayarlarda paralel planları dikkate aldığı eşiği belirtir. seçeneği cost threshold for parallelism 0 ile 32.767 arasında herhangi bir değere ayarlanabilir.

Maliyet, sorgu planındaki tahmini işleç maliyetlerinin toplamıdır (örneğin, CPU ve G/Ç). Yalnızca plan seçimi için kullanılan göreli bir ölçüdür; gerçek çalışma zamanını ölçmez.

Bazı Transact-SQL bileşenleri paralel planı engelleyebilir. Örneğin, satır içi skaler kullanıcı tanımlı işlevler (UDF'ler), tablo değişkeni değişiklikleri ve belirli sistem çağrıları. SQL Server paralel alternatifleri yalnızca en iyi seri planın tahmini maliyeti değeri aştığında cost threshold for parallelism değerlendirir ve daha ucuz bir paralel plan seçebilir.

Sınırlamalar

SQL Server aşağıdaki koşullar altında değeri yoksayar cost threshold for parallelism :

  • Bilgisayarınızda yalnızca bir mantıksal işlemci var.

  • Yapılandırma seçeneği nedeniyle affinity mask SQL Server'da yalnızca tek bir mantıksal işlemci kullanılabilir.

  • max degree of parallelism Sunucu yapılandırma seçeneği olarak 1ayarlanır.

Recommendations

Bu seçenek gelişmiş bir seçenektir ve yalnızca deneyimli bir veritabanı uzmanı tarafından değiştirilmelidir.

varsayılan değeri 5 bir başlangıç noktasıdır, öneri değildir. Modern SQL Server sistemlerinde yükseltmek, seri planlarla daha küçük OLTP sorgularının yürütülmesini sağlamaya yardımcı olabilir. Küçük artışlar kullanın ve daha fazla değişiklik yapılmadan önce tam bir iş döngüsünü gözlemleyin. Uygulama performansını iyileştirmek için gerekirse daha yüksek ve daha düşük değerlerle uygulama testi gerçekleştirin.

Uyarı

Azure SQL Veritabanı'nda öğesini ayarlayamazsınız cost threshold for parallelism. Bunun yerine paralelliği denetlemek için kullanın MAXDOP . Daha fazla bilgi için bkz . Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği'nde varsayılan MAXDOP'yi değiştirme.

Bazı durumlarda, sorgunun plan maliyeti geçerli cost threshold for parallelism değerden düşük olsa bile paralel plan seçilebilir. Paralel veya seri plan kullanma kararı, iyileştirme sürecinde daha önce sağlanan maliyet tahminini temel alır. Daha fazla bilgi için bkz. Sorgu İşleme Mimarisi Kılavuzu.

Açıklamalar

Sunucu yapılandırma seçeneğinin cost threshold for parallelism iş yükünüz için çok yüksek mi yoksa çok düşük mü ayarlandığını görmek için aşağıdaki göstergeleri arayın.

Paralellik ayarı için maliyet eşiği Description
Çok düşük - Çok fazla CPU-light sorgusu paralel gider.

- Sorgu Deposu'nda birçok plan olarak ayarlanmıştır is_parallel_plan1.

- CXPACKET ve CXCONSUMER bekleme türü istatistiklerine hakim olun. Ayrıca görebilir THREADPOOL ve SOS_SCHEDULER_YIELD bekleyebilirsiniz.
Çok yüksek - İş yükünün YOĞUN CPU kullanan sorgularının sayısı yeterli değildir ve sonuç olarak CPU kullanımı en iyi durumdan daha yüksektir.

- SOS_SCHEDULER_YIELD bekleme türü istatistiklerine hakimdir.

Permissions

Üzerinde parametre olmadan veya yalnızca ilk parametreyle yürütme izinleri sp_configure varsayılan olarak tüm kullanıcılara verilir. sp_configure'ı her iki parametreyle eşzamanlı olarak yürütmek, bir yapılandırma seçeneğini değiştirmek veya RECONFIGURE ifadesini çalıştırmak için, kullanıcıya ALTER SETTINGS sunucu düzeyinde izin verilmesi gerekmektedir. İzin ALTER SETTINGS , sysadmin ve serveradmin sabit sunucu rolleri tarafından örtük olarak tutulur.

SQL Server Management Studio'yu kullanma

  1. Nesne Gezgini'nde bir sunucuya sağ tıklayın ve Özellikler'i seçin.

  2. Gelişmiş düğümü seçin.

  3. Paralellik'in altındacost threshold for parallelism, seçeneği istediğiniz değerle değiştirin. 0 ile 32.767 bir değer yazın veya seçin.

Transact-SQL kullanma

Bu örnekte değerini olarak ayarlamak için sp_configure nasıl kullanılacağı gösterilmektedir cost threshold for parallelism20.

USE master;
GO

EXECUTE sp_configure 'show advanced options', 1;
GO

RECONFIGURE;
GO

EXECUTE sp_configure 'cost threshold for parallelism', 20;
GO

RECONFIGURE;
GO

EXECUTE sp_configure 'show advanced options', 0;
GO

RECONFIGURE;
GO

Daha fazla bilgi için bkz . Sunucu yapılandırma seçenekleri.

İzleme: Paralellik seçeneği için maliyet eşiğini yapılandırdıktan sonra

Ayar, sunucuyu yeniden başlatmadan hemen etkinleşir.