Aracılığıyla paylaş


Sunucu yapılandırması: maksimum paralellik derecesi

Şunlar için geçerlidir: SQL Server

Bu makalede SQL Server Management Studio veya Transact-SQL kullanılarak SQL Server'da sunucu yapılandırma seçeneği max degree of parallelism nasıl yapılandırılacağı MAXDOP açıklanmaktadır. SQL Server örneği birden fazla mikro işlemci veya CPU'ya sahip bir bilgisayarda çalıştırıldığında, Veritabanı Altyapısı paralelliğin kullanılıp kullanılamayacağını algılar. Paralellik derecesi, her paralel plan yürütmesinde tek bir deyimi çalıştırmak için kullanılan işlemci sayısını ayarlar. Paralel plan yürütmede kullanılacak işlemci sayısını sınırlamak için seçeneğini kullanabilirsiniz max degree of parallelism . tarafından max degree of parallelismayarlanan sınır hakkında daha fazla ayrıntı için bu sayfadaki Önemli Noktalar bölümüne bakın. SQL Server sorgular, dizin veri tanımı dili (DDL) işlemleri, paralel eklemeler, çevrimiçi alter sütunu, paralel istatistik koleksiyonu ve statik ve anahtar kümesi temelli imleç popülasyonu için paralel yürütme planlarını dikkate alır.

SQL Server 2019 (15.x), yükleme işlemi sırasında kullanılabilen işlemci sayısına göre sunucu yapılandırma seçeneğini ayarlamak max degree of parallelism için otomatik öneriler sunms. Kurulum kullanıcı arabirimi, önerilen ayarları kabul etmenizi veya kendi değerinizi girmenizi sağlar. Daha fazla bilgi için bkz. Veritabanı Altyapısı Yapılandırması - MaxDOP sayfası.

Azure SQL Veritabanı, Doku'daki SQL veritabanı ve Azure SQL Yönetilen Örneği'nde, her MAXDOP tek veritabanı, elastik havuz veritabanı ve yönetilen örnek için varsayılan ayardır.8 Azure SQL Veritabanı'nda ve Fabric'teki SQL veritabanında, veritabanı MAXDOP kapsamlı yapılandırma 8 olarak ayarlanır. Azure SQL Yönetilen Örneği'nde max degree of parallelism sunucu yapılandırma seçeneği olarak 8ayarlanır.

Azure SQL Veritabanı veya Doku'daki SQL veritabanı hakkında daha fazla bilgi MAXDOP için bkz. Azure SQL Veritabanı'nda en yüksek paralellik derecesini (MAXDOP) yapılandırma ve Doku'da SQL veritabanı.

Considerations

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

Benzim maskesi seçeneği varsayılan olarak ayarlanmadıysa, simetrik çok işlemcili (SMP) sistemlerde SQL Server'ın kullanabileceği işlemci sayısını kısıtlayabilir.

ayarı max degree of parallelism0 , SQL Server'ın 64 işlemciye kadar tüm kullanılabilir işlemcileri kullanmasına izin verir. Ancak çoğu durumda önerilen değer bu değildir. Maksimum paralellik derecesi için önerilen değerler hakkında daha fazla bilgi için bu sayfadaki Öneriler bölümüne bakın.

Paralel plan oluşturmayı durdurmak için max degree of parallelism1 olarak ayarlayın. Tek bir sorgu yürütmesi sırasında kullanılabilecek işlemci çekirdeği sayısı üst sınırını belirtmek için değeri 1 ile 32.767 bir sayı olarak ayarlayın. Kullanılabilir işlemci sayısından büyük bir değer belirtilirse, kullanılabilir işlemcilerin gerçek sayısı kullanılır. Bilgisayarda yalnızca bir işlemci varsa, max degree of parallelism bu değer yoksayılır.

En yüksek paralellik derecesi sınırı görev başına ayarlanır. Bu, başına istek veya sorgu sınırı başına değildir. Bu, paralel sorgu yürütme sırasında tek bir isteğin sınıra MAXDOP kadar birden çok görev oluşturabileceği ve her görevin bir çalışan ve bir zamanlayıcı kullandığı anlamına gelir. Daha fazla bilgi için İş parçacığı ve görev mimarisi kılavuzununParalel görevleri zamanlama bölümüne bakın.

Paralellik sunucusu yapılandırma değerinin en yüksek derecesini geçersiz kılabilirsiniz:

  • Sorgu düzeyinde, MAXDOP veya Sorgu Deposu ipuçlarını kullanarak.
  • Veritabanı düzeyinde, veritabanı kapsamlı yapılandırma'yı kullanarak.
  • İş yükü düzeyinde, MAX_DOP seçeneğini kullanarak.

Dizin oluşturan, yeniden oluşturan veya kümelenmiş bir dizini bırakan dizin işlemleri, yoğun kaynak kullanabilir. Dizin deyiminde dizin seçeneğini belirterek MAXDOP dizin işlemleri için en yüksek paralellik derecesini geçersiz kılabilirsiniz. Değer MAXDOP , yürütme zamanında deyimine uygulanır ve dizin meta verilerinde depolanmaz. Daha fazla bilgi için bkz. Paralel Dizin İşlemlerini Yapılandırma.

Sorgulara ve dizin işlemlerine ek olarak, bu seçenek DBCC CHECKTABLE, DBCC CHECKDB ve DBCC CHECKFILEGROUP paralelliğini de denetler. Belirtilen ifadeler için paralel yürütme planlarını izleme bayrağı 2528'i kullanarak devre dışı bırakabilirsiniz. Daha fazla bilgi için bkz. izleme etiketi 2528.

SQL Server 2022 (16.x), geçen süre ve beklemelere göre yinelenen sorgular için paralellik verimsizliklerini belirleyerek sorgu performansını geliştirmeye yönelik yeni bir özellik olan Paralellik Derecesi (DOP) Geri Bildirimi'ni kullanıma sunar. DOP geri bildirimi, akıllı sorgu işleme özellikleri ailesinin bir parçasıdır ve yinelenen sorgular için paralelliğin yetersiz kullanımını ele alır. DOP geri bildirimi hakkında bilgi için Paralellik derecesi (DOP) geri bildirimi adresini ziyaret edin.

Recommendations

SQL Server 2016 (13.x) ve sonraki sürümlerinde, Veritabanı Altyapısı başlangıçta NUMA düğümü veya yuvası başına sekizden fazla fiziksel çekirdek algılarsa, hizmet başlatma sırasında geçici NUMA düğümleri varsayılan olarak otomatik olarak oluşturulur. Veritabanı Altyapısı, aynı fiziksel çekirdekten mantıksal işlemcileri farklı soft-NUMA düğümlerine yerleştirir. Aşağıdaki tabloda yer alan öneriler, paralel sorgunun tüm çalışan iş parçacıklarının, aynı soft-NUMA node'u içinde tutulmasını amaçlar. Bu, sorguların performansını ve iş yükü için NUMA düğümleri arasında çalışan iş parçacıklarının dağıtımını geliştirir. Daha fazla bilgi için bkz. Soft-NUMA (SQL Server).

SQL Server 2016 (13.x) ve sonraki sürümlerinde, sunucu yapılandırma değerini yapılandırırken max degree of parallelism aşağıdaki yönergeleri kullanın:

Sunucu yapılandırması İşlemci sayısı Guidance
Tek NUMA düğümüne sahip sunucu Sekizden küçük veya buna eşit mantıksal işlemciler Mantıksal işlemcilerin # konumunda veya altında tutun MAXDOP
Tek NUMA düğümüne sahip sunucu Sekizden fazla mantıksal işlemci 8'de tut MAXDOP
Birden çok NUMA düğümü olan sunucu NUMA düğümü başına 16 mantıksal işlemciden küçük veya buna eşit NUMA düğümü başına mantıksal işlemci sayısı konumunda veya altında tutun MAXDOP
Birden çok NUMA düğümü olan sunucu NUMA düğümü başına 16'dan fazla mantıksal işlemci 16 MAX değeriyle NUMA düğümü başına mantıksal işlemci sayısının yarısında tutun MAXDOP

Önceki tablodaki NUMA düğümü, SQL Server 2016 (13.x) ve üzeri sürümler tarafından otomatik olarak oluşturulan soft-NUMA düğümlerini veya geçici NUMA devre dışı bırakılırsa donanım tabanlı NUMA düğümlerini ifade eder.

Resource Governor iş yükü grupları için en yüksek paralellik derecesini ayarlarken de aynı yönergeleri kullanın. Daha fazla bilgi için bkz . CREATE WORKLOAD GROUP.

SQL Server 2014 ve önceki sürümleri

SQL Server 2008 (10.0.x) ile SQL Server 2014 (12.x) arasında sunucu yapılandırma değerini yapılandırırken max degree of parallelism aşağıdaki yönergeleri kullanın:

Sunucu yapılandırması İşlemci sayısı Guidance
Tek NUMA düğümüne sahip sunucu Sekizden küçük veya buna eşit mantıksal işlemciler Mantıksal işlemcilerin # konumunda veya altında tutun MAXDOP
Tek NUMA düğümüne sahip sunucu Sekizden fazla mantıksal işlemci 8'de tut MAXDOP
Birden çok NUMA düğümü olan sunucu NUMA düğümü başına sekizden az veya buna eşit mantıksal işlemci NUMA düğümü başına mantıksal işlemci sayısı konumunda veya altında tutun MAXDOP
Birden çok NUMA düğümü olan sunucu NUMA düğümü başına sekizden fazla mantıksal işlemci 8'de tut MAXDOP

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'i her iki parametreyle yapılandırma seçeneğini değiştirmek veya RECONFIGURE deyimini çalıştırmak için yürütmek için, kullanıcıya sunucu düzeyinde ALTER SETTINGS izni verilmelidir. İzin ALTER SETTINGS , sysadmin ve serveradmin sabit sunucu rolleri tarafından örtük olarak tutulur.

SQL Server Management Studio'yu kullanma

Bu seçenekler, örneğe ait MAXDOP öğesini değiştirir.

  1. Nesne Gezgini'nde, istediğiniz örneğe sağ tıklayın ve Özellikler'i seçin.

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

  3. En Yüksek Paralellik Derecesi kutusunda, paralel plan yürütmede kullanılacak en fazla işlemci sayısını seçin.

Transact-SQL kullanma

  1. SQL Server Management Studio ile Veritabanı Altyapısı'na bağlanın.

  2. Standart çubuğundan Yeni Sorgu'yi seçin.

  3. Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın ve Yürüt'e tıklayın. Bu örnek, bir seçeneği sp_configure ile max degree of parallelism16 olarak yapılandırmayı gösterir.

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE WITH OVERRIDE;
    GO
    
    EXECUTE sp_configure 'max degree of parallelism', 16;
    GO
    
    RECONFIGURE WITH OVERRIDE;
    GO
    
    EXECUTE sp_configure 'show advanced options', 0;
    GO
    
    RECONFIGURE;
    GO
    

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

Takip: En yüksek paralellik derecesini yapılandırdıktan sonra

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