Rekomendasi dan panduan untuk opsi konfigurasi "max derajat dari paralelisme" di SQL Server

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 2806535 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

Ringkasan

Microsoft SQL Server Max tingkat paralelisme Pilihan konfigurasi (MAXDOP) mengontrol jumlah prosesor yang digunakan untuk eksekusi query dalam rencana paralel. Opsi ini menentukan sumber daya komputasi dan benang yang digunakan untuk query rencana operator yang melakukan pekerjaan secara paralel. Tergantung pada Apakah SQL Server sudah diatur pada komputer Multiproses (SMP), non-seragam kehabisan memori akses (NUMA) komputer atau prosesor hyperthreading-diaktifkan, Anda harus mengkonfigurasi Max tingkat paralelisme pilihan tepat. Artikel ini membahas pedoman umum yang dapat Anda gunakan untuk mengkonfigurasi Max tingkat paralelisme pilihan untuk SQL Server ketika Anda menggunakan sistem sp_configure disimpan prosedur.

Pilihan (MAXDOP) Transact-SQL query petunjuk dapat menimpa Max tingkat paralelismeopsi nilai sp_configure jika query menentukan pilihan ini. Dalam SQL Server 2000, Timpa mengambil efek hanya jika nilai yang ditentukan dalam petunjuk adalah kurang dari atau sama dengan nilai sp_configure . Dalam SQL Server 2005 dan versi yang lebih baru, Timpa selalu mengambil efek. Dalam SQL Server 2008 dan versi yang lebih baru, jika nilai MAXDOP melebihi nilai yang dikonfigurasi dengan menggunakan sumber daya Gubernur, mesin database menggunakan nilai sumber daya Gubernur MAXDOP. Semua aturan semantik yang digunakan dengan Max tingkat paralelismeopsi berlaku ketika Anda menggunakan MAXDOP permintaan petunjuk. Pilihan dua lainnya yang dapat menimpa atau mempengaruhi pengaturan MAXDOP adalah sebagai berikut:
  • NUMA lembut
  • Paralel indeks

Informasi lebih lanjut

Catatan The Max tingkat paralelisme Apakah pilihan konfigurasi tidak membatasi jumlah prosesor yang menggunakan SQL Server. Untuk mengkonfigurasi jumlah prosesor yang menggunakan SQL Server, gunakan afinitas masker pilihan konfigurasi.

Gunakan panduan berikut bila Anda mengkonfigurasi nilai MAXDOP.

SQL Server 2005 dan versi

  • Untuk server yang menggunakan lebih dari delapan prosesor, menggunakan konfigurasi sebagai berikut:
    MAXDOP = 8
  • Untuk server yang menggunakan prosesor delapan atau lebih sedikit, menggunakan konfigurasi sebagai berikut:
    MAXDOP = 0 toN

    Catatan Dalam konfigurasi ini,N mewakili jumlah prosesor.
  • Untuk server yang memiliki NUMA dikonfigurasi, MAXDOP tidak boleh melebihi jumlah CPU yang ditetapkan untuk setiap node NUMA.
  • Untuk server yang memiliki hyperthreading diaktifkan, nilai MAXDOP tidak boleh melebihi jumlah prosesor fisik.
  • Untuk server yang memiliki NUMA dikonfigurasi dan hyperthreading diaktifkan, nilai MAXDOP tidak boleh melebihi jumlah prosesor fisik per NUMA node.
Catatan Menggunakan pedoman yang sama ketika Anda mengatur Max tingkat paralelismepilihan untuk Gubernur sumber daya beban kerja kelompok.

Juga, nilai maksimum 8 yang disebutkan dalam pedoman ini berlaku untuk khas aktivitas SQL Server dan overhead untuk operator asing yang digunakan dalam paralel query rencana. Anda dapat memvariasikan nilai maksimum ini, tergantung pada pola aplikasi spesifik Anda dan aktivitas serentak pada contoh SQL Server. Sebagai contoh, pertimbangkan situasi berikut:
  • Jika Anda memiliki jumlah yang sangat kecil kueri yang mengeksekusi pada saat yang sama dibandingkan dengan jumlah prosesor, Anda dapat mengatur nilai MAXDOP ke nilai yang lebih besar. Sebagai contoh, Anda dapat mengatur nilai MAXDOP-16.
  • Jika Anda memiliki jumlah query yang mengeksekusi pada saat yang sama dibandingkan dengan jumlah prosesor yang sangat besar, Anda dapat mengatur nilai MAXDOP ke nilai lebih kecil. Sebagai contoh, Anda dapat mengatur nilai MAXDOP ke 4.
Catatan Nilai yang Anda mempertimbangkan untuk menggunakan harus benar-benar diuji terhadap kegiatan aplikasi spesifik atau pola pertanyaan sebelum Anda menerapkan nilai pada server produksi.

SQL Server 2000 dan versi

Jika SQL Server menggunakan rencana serial, itu akan menggunakan hanya satu prosesor. Namun, jika SQL Server menggunakan paralelisme, itu harus menggunakan semua prosesor dikonfigurasi (sebagaimana ditentukan oleh MAXDOP permintaan petunjuk konfigurasi) untuk pelaksanaan rencana paralel. Sebagai contoh, jika Anda menggunakan MAXDOP = 0 pada 32-cara server, SQL Server mencoba untuk menggunakan semua 32 prosesor bahkan jika prosesor 7 mungkin melakukan pekerjaan lebih efisien dibandingkan dengan rencana serial yang menggunakan hanya satu prosesor. Karena perilaku all-or-nothing, jika SQL Server menggunakan rencana paralel, dan jika Anda tidak membatasi MAXDOP permintaan petunjuk untuk nilai maksimum 8, waktu yang diperlukan oleh SQL Server untuk mengkoordinasikan semua prosesor pada high-end server melebihi keuntungan menggunakan rencana paralel.

Pengaturan MAXDOP berlaku untuk setiap langkah dari rencana. Setiap langkah akan menggunakan satu CPU atau jumlah CPU yang ditentukan oleh MAXDOP dan tidak pernah sesuatu di antaranya. Jika langkah-langkah mengeksekusi secara paralel, jumlah untaian yang digunakan oleh query dapat melebihi pengaturan MAXDOP.

Untuk definisi MAXDOP, lihat topik "Max gelar dari paralelisme Option" atau "Gelar paralelisme" topik dalam SQL Server.

Untuk memahami bagaimana paralelisme bekerja, lihat bagian "Paralel Query Processing" di bawah "Query prosesor arsitektur" topik dalam SQL Server buku Online.

Informasi tambahan

Untuk informasi lebih lanjut tentang pertanyaan paralel, pergi ke situs web Microsoft Developer Network (MSDN) berikut:
Tingkat paralelisme
Untuk informasi praktik terbaik ketika Anda menjalankan contoh SQL Server di komputer yang memiliki lebih dari 64 CPU, tampakan SQL Server buku Online topik berikut:
Penerapan terbaik untuk menjalankan SQL Server di komputer yang memiliki lebih dari 64 CPU
Untuk contoh dari SQL Server yang berjalan pada prosesor hyperthreading-enabled, mengikuti rekomendasi di artikel di dalam Pangkalan Pengetahuan Microsoft berikut:
322385 Dukungan SQL Server di lingkungan hiper-ulir
Catatan Rekomendasi ini mungkin tidak sahih untuk chip prosesor baru seperti di Intel Nehalem keluarga.

Untuk informasi tentang jumlah prosesor yang digunakan oleh SQL Server dan jumlah node NUMA yang diakui oleh SQL Server, menggunakan manajemen dinamis pemandangan sys.dm_os_sys_info dan sys.dm_os_nodes. Untuk informasi lebih lanjut tentang pengaturan MAXDOP yang diberlakukan dengan menggunakan sumber daya Gubernur, Tinjau informasi dalam manajemen dinamis Lihat sys.dm_resource_governor_workload_groups.

Untuk informasi lebih lanjut tentang produk atau alat-alat yang secara otomatis memeriksa kondisi ini pada Anda contoh SQL Server dan versi produk SQL Server, lihat Daftar Tabel berikut:
Perkecil tabel iniPerbesar tabel ini
Aturan peranti penangkap lunakAturan judulKeterangan aturanVersi produk terhadap aturan dievaluasi
SQL Server 2008 R2 terbaik praktek Analyzer (SQL Server 2008 R2 BPA)Tingkat paralelisme tidak diatur ke nilai yang direkomendasikanSQL Server 2008 R2 terbaik praktek Analyzer (SQL Server 2008 R2 BPA) menyediakan aturan untuk mendeteksi ini kondisi di mana nilai yang sesuai untuk Max tingkat paralelismepilihan tidak dikonfigurasi dengan jumlah CPU di sebuah node NUMA dan juga Gubernur sumber daya beban kerja konfigurasi untuk MAXDOP. SQL Server 2008 R2 BPA mendukung SQL Server 2008 dan SQL Server 2008 R2.

Jika Anda menjalankan alat BPA dan mengalami "Database Engine - tingkat paralelisme tidak diatur ke nilai yang direkomendasikan" peringatan, membandingkanMax tingkat paralelismepilihan harga dan nilai sumber daya Gubernur beban kerja MAXDOP dengan merekomendasikan nilai-nilai yang ditentukan dalam bagian "Ringkasan" dan "Lebih lanjut".
SQL Server 2008, SQL Server 2008 R2
SQL Server 2012 terbaik praktek Analyzer (SQL Server 2012 BPA)Tingkat paralelisme tidak diatur ke nilai yang direkomendasikanSQL Server 2012 terbaik praktek Analyzer (SQL Server 2012 BPA) menyediakan aturan untuk mendeteksi ini kondisi di mana nilai yang sesuai untuk Max tingkat paralelismepilihan tidak dikonfigurasi dengan jumlah CPU di sebuah node NUMA dan juga Gubernur sumber daya beban kerja konfigurasi untuk MAXDOP.

Jika Anda menjalankan alat BPA dan mengalami "Database Engine - tingkat paralelisme tidak diatur ke nilai yang direkomendasikan" peringatan, membandingkanMax tingkat paralelismepilihan harga dan nilai sumber daya Gubernur beban kerja MAXDOP dengan merekomendasikan nilai-nilai yang ditentukan dalam bagian "Ringkasan" dan "Lebih lanjut".
SQL Server 2012

Properti

ID Artikel: 2806535 - Kajian Terakhir: 06 Februari 2013 - Revisi: 2.0
Berlaku bagi:
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Enterprise Evaluation Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Developer Edition
Kata kunci: 
kbinfo kbmt KB2806535 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini: 2806535

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com