คำแนะนำและแนวทางสำหรับตัวเลือกการตั้งค่าคอนฟิก "ระดับสูงสุดของ parallelism" ใน SQL Server

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 2806535 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

Microsoft SQL Server ระดับสูงสุดของ parallelism ตัวเลือกการตั้งค่าคอนฟิก (MAXDOP) ควบคุมจำนวนของตัวประมวลผลที่ใช้สำหรับการดำเนินการแบบสอบถามในแผนควบคู่กัน ตัวเลือกนี้กำหนดทรัพยากรใช้งานคอมพิวเตอร์และเธรดที่ใช้สำหรับการดำเนินการแผนแบบสอบถามที่ทำงานควบคู่กัน ขึ้นอยู่กับว่า SQL Server จะตั้งค่าบนคอมพิวเตอร์แบบ multiprocessing (SMP) หน่วยความจำที่ไม่เหมือนคอมพิวเตอร์การเข้าถึง (NUMA) หรือตัวประมวลผลการเปิดใช้งานไฮเปอร์เธรดดิง คุณจำเป็นต้องตั้งค่าคอนฟิก ระดับสูงสุดของ parallelism ตัวเลือกอย่างเหมาะสม บทความนี้กล่าวถึงคำแนะนำทั่วไปที่คุณสามารถใช้การตั้งค่าคอนฟิก ระดับสูงสุดของ parallelism ตัวเลือกสำหรับ SQL Server เมื่อคุณใช้ระบบsp_configureกระบวนงานที่เก็บไว้

คำแนะนำการสอบถาม SQL ของกลุ่มตัวเลือก (MAXDOP)สามารถแทน ระดับสูงสุดของ parallelismตัวเลือกในค่าsp_configureถ้าแบบสอบถามระบุตัวเลือกนี้ ใน SQL Server 2000 แทนจะมีผลเฉพาะเมื่อค่าที่ระบุไว้ในคำใบ้น้อยกว่า หรือเท่ากับค่าsp_configure ใน SQL Server 2005 และรุ่นที่ใหม่กว่า การแทนทุกครั้งจะมีผลบังคับ ใน SQL Server 2008 และรุ่นที่ใหม่กว่า MAXDOP ค่าเกินกว่าค่าที่ถูกกำหนดค่า โดยใช้ Governor ทรัพยากร database engine หาค่า MAXDOP Governor ของทรัพยากรระบุ กฎตรรกทั้งหมดที่ใช้กับ ระดับสูงสุดของ parallelismตัวเลือกจะใช้ได้เมื่อคุณใช้คำแนะนำการสอบถาม MAXDOP อื่น ๆ สองตัวที่สามารถแทน หรือมีผลต่อการตั้งค่า MAXDOP จะเป็นดังนี้:
  • NUMA นุ่มนวล
  • ดัชนีแบบขนาน

ข้อมูลเพิ่มเติม

หมายเหตุ ที่ ระดับสูงสุดของ parallelism ตัวเลือกการตั้งค่าคอนฟิกไม่จำกัดจำนวนของตัวประมวลผลที่ใช้ SQL Server เมื่อต้องการกำหนดค่าหมายเลขของตัวประมวลผลที่ใช้ SQL Server ใช้ รูปแบบของความสัมพันธ์ ตัวเลือกการตั้งค่าคอนฟิก

ใช้คำแนะนำต่อไปนี้เมื่อคุณตั้งค่าคอนฟิกค่า MAXDOP

SQL Server 2005 และรุ่นที่ใหม่กว่า

  • สำหรับเซิร์ฟเวอร์ที่ใช้โปรเซสเซอร์มากกว่าแปด ใช้การตั้งค่าคอนฟิกต่อไปนี้:
    MAXDOP = 8
  • สำหรับเซิร์ฟเวอร์ที่ใช้โปรเซสเซอร์ 8 หรือน้อยกว่า ใช้การตั้งค่าคอนฟิกต่อไปนี้:
    MAXDOP = 0 เมื่อต้องการN

    หมายเหตุ ในการกำหนดค่านี้N แสดงหมายเลขของตัวประมวลผล
  • สำหรับเซิร์ฟเวอร์ที่มี NUMA ที่มีการตั้งค่าคอนฟิก MAXDOP ควรเกินจำนวนของ Cpu ที่กำหนดให้กับแต่ละโหน NUMA
  • สำหรับเซิร์ฟเวอร์ที่มีการเปิดใช้งานการไฮเปอร์เธรดดิง ค่า MAXDOP ไม่ควรเกินจำนวนของตัวประมวลผลที่มีอยู่จริง
  • สำหรับเซิร์ฟเวอร์ที่มี NUMA ที่มีการตั้งค่าคอนฟิกและเปิดใช้งานการไฮเปอร์เธรดดิง ค่า MAXDOP ไม่ควรเกินหมายเลขของตัวประมวลผลที่มีอยู่จริงสำหรับแต่ละโหน NUMA
หมายเหตุ ใช้แนวทางเดียวกันเมื่อคุณตั้งค่านี้ ระดับสูงสุดของ parallelismตัวเลือกสำหรับกลุ่มของปริมาณงานทรัพยากร Governor

นอกจากนี้ ค่าสูงสุดของ 8 ที่กล่าวถึงในแนวทางเหล่านี้จะเกี่ยวข้องกับกิจกรรมของ SQL Server โดยทั่วไปและค่าโสหุ้ยสำหรับตัวดำเนินการแลกเปลี่ยนที่ใช้ในแผนแบบสอบถามแบบขนาน คุณสามารถเปลี่ยนค่านี้สูงสุด ขึ้นอยู่กับรูปแบบของโปรแกรมประยุกต์เฉพาะของคุณและกิจกรรมที่เกิดขึ้นพร้อมกันบนอินสแตนซ์ของ SQL Server ตัวอย่างเช่น พิจารณาสถานการณ์ต่อไปนี้:
  • ถ้าคุณมีขนาดเล็กมากจำนวนแบบสอบถามที่ดำเนินการในเวลาเดียวกันที่เปรียบเทียบกับหมายเลขของตัวประมวลผล คุณสามารถตั้งค่า MAXDOP เป็นค่ามีขนาดใหญ่ขึ้น ตัวอย่างเช่น คุณสามารถตั้งค่าค่า MAXDOP ถึง 16
  • ถ้าคุณยังมีขนาดใหญ่มากจำนวนแบบสอบถามที่ดำเนินการในเวลาเดียวกันที่เปรียบเทียบกับหมายเลขของตัวประมวลผล คุณสามารถตั้งค่า MAXDOP เป็นค่ามีขนาดเล็กลง ตัวอย่างเช่น คุณสามารถตั้งค่า MAXDOP ค่า 4
หมายเหตุ ค่าใด ๆ ที่คุณพิจารณาใช้ควรจะทำทดสอบกับโปรแกรมประยุกต์เฉพาะหรือกิจกรรมแต่ละรูปแบบของแบบสอบถามก่อนที่คุณใช้ค่านั้นในเซิร์ฟเวอร์การผลิต

SQL Server 2000 และรุ่นที่ใหม่กว่า

ถ้า SQL Server ใช้แผนพอร์ตอนุกรม จะใช้ตัวประมวลผลเดียวเท่านั้น อย่างไรก็ตาม SQL Server ใช้ parallelism นั้นต้องใช้โปรเซสเซอร์ที่จัดโครงแบบทั้งหมด (ตามที่กำหนดโดยการกำหนดค่าคำแนะนำแบบสอบถาม MAXDOP) สำหรับการดำเนินการของแผนการแบบขนาน ตัวอย่างเช่น ถ้าคุณใช้ MAXDOP = 0 บนเซิร์ฟเวอร์วิธี-32, SQL Server พยายามใช้ตัวประมวลผล 32 แม้ว่าตัวประมวลผล 7 อาจทำงานเพิ่มเติมได้อย่างมีประสิทธิภาพที่เปรียบเทียบกับพอร์ตอนุกรมแผนที่ใช้ตัวประมวลผลเดียวเท่านั้น เนื่องจากพฤติกรรมนี้ all-or-nothing ถ้า SQL Server ใช้แผนการแบบขนาน และ ถ้าคุณไม่จำกัดคำแนะนำการสอบถาม MAXDOP ค่าสูงสุดเป็น 8 เวลาที่จำเป็นต้องใช้ โดย SQL Server เพื่อประสานงานตัวประมวลผลทั้งหมดบนเซิร์ฟเวอร์คุณภาพสูง กันข้อดีของการใช้แผนการแบบขนาน

การตั้งค่า MAXDOP ที่ใช้กับแต่ละขั้นตอนของแผนนั้น แต่ละขั้นตอนจะใช้ CPU หนึ่งหรือหมายเลขของ Cpu ที่ระบุไว้ โดย MAXDOP และไม่มีสิ่งใดในระหว่าง นั้น ถ้าขั้นตอนที่ดำเนินการควบคู่กัน จำนวนเธรดที่ใช้ โดยแบบสอบถามอาจเกินกว่าการตั้งค่า MAXDOP

สำหรับคำนิยามของ MAXDOP อ้างอิงไปยังหัวข้อ "Max องศาของ Parallelism เลือก" หรือ "ระดับของ Parallelism" หัวข้อใน SQL Server

เมื่อต้องการทำความเข้าใจวิธีการทำงานของ parallelism ดูส่วน "ขนานแบบสอบถามประมวล" ภายใต้หัวข้อ "สถาปัตยกรรมของตัวประมวลผลแบบสอบถาม" ใน SQL Server Books Online

ข้อมูลเพิ่มเติม

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแบบสอบถามแบบขนาน ไปเว็บไซต์ Microsoft Developer Network (MSDN) ต่อไปนี้:
ระดับของ Parallelism
สำหรับข้อมูลวิธีปฏิบัติที่ดีที่สุดเมื่อคุณกำลังเรียกใช้อินสแตนซ์ของ SQL Server บนคอมพิวเตอร์ที่มี Cpu มากกว่า 64 ดูหัวข้อ SQL Server Books Online ต่อไปนี้:สำหรับอินสแตนซ์ของ SQL Server ที่กำลังเรียกใช้บนตัวประมวลผลการเปิดใช้งานไฮเปอร์เธรดดิง ให้ทำตามคำแนะนำในบทความในฐานความรู้ของ Microsoft ต่อไปนี้:
322385 สนับสนุน SQL Server ในสภาพแวดล้อมแบบเธรดสิคัล
หมายเหตุ คำแนะนำนี้อาจไม่สามารถใช้ได้กับชิปประมวลตัวประมวลผลที่ใหม่กว่าเป็นตระกูล Intel Nehalem

สำหรับข้อมูลเกี่ยวกับหมายเลขของตัวประมวลผลที่ใช้ โดย SQL Server และหมายเลขของโหน NUMA ซึ่งเป็นที่รู้จัก โดย SQL Server ใช้ sys.dm_os_sys_info มุมมองการจัดการแบบไดนามิกและ sys.dm_os_nodes สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่า MAXDOP ที่มีการบังคับใช้ โดยการใช้ทรัพยากร Governor ตรวจทานข้อมูลใน sys.dm_resource_governor_workload_groups มุมมองการจัดการแบบไดนามิก

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับผลิตภัณฑ์หรือเครื่องมือที่ตรวจสอบโดยอัตโนมัติสำหรับเงื่อนไขนี้ บนอินสแตนซ์ของเซิร์ฟเวอร์ SQL และรุ่นของผลิตภัณฑ์ SQL Server ดูตารางต่อไปนี้:
ยุบตารางนี้ขยายตารางนี้
ซอฟต์แวร์ของกฎชื่อเรื่องของกฎคำอธิบายกฎรุ่นผลิตภัณฑ์ที่กฎจะถูกประเมิน
SQL Server 2008 R2 ที่ดีที่สุดวิธีปฏิบัติ Analyzer (SQL BPA R2 2008 ของเซิร์ฟเวอร์)ไม่มีการตั้งค่าระดับของ parallelism ค่าที่แนะนำตัว SQL Server 2008 R2 ที่ดีที่สุดแบบฝึกหัดวิเคราะห์ (SQL Server 2008 R2 BPA) แสดงตำแหน่งเงื่อนไขของกฎการตรวจสอบเหล่านี้ค่าเหมาะสมสำหรับการ ระดับสูงสุดของ parallelismไม่มีการกำหนดค่าตัวเลือกร่วมกับหมายเลขของ Cpu ในโหน NUMA และตั้งค่าคอนฟิกปริมาณงานของทรัพยากร Governor สำหรับ MAXDOP การ BPA SQL Server 2008 R2 สนับสนุนทั้ง SQL Server 2008 และ SQL Server 2008 R2

ถ้าคุณเรียกใช้เครื่องมือ BPA และพบคำเตือน "Database Engine - ระดับของ parallelism ถูกกำหนดเป็นค่าที่แนะนำ" เปรียบเทียบระดับสูงสุดของ parallelismค่าตัวเลือกและค่า MAXDOP Governor ทรัพยากรปริมาณงาน ด้วยค่าที่แนะนำที่ระบุไว้ในส่วน "สรุป" และ "" ข้อมูลเพิ่มเติม
SQL Server 2008, SQL Server 2008 R2
SQL เซิร์ฟเวอร์ 2012 ที่ดีที่สุดวิธีปฏิบัติ Analyzer (SQL Server 2012 BPA)ไม่มีการตั้งค่าระดับของ parallelism ค่าที่แนะนำตัว SQL Server 2012 ที่ดีที่สุดแบบฝึกหัดวิเคราะห์ (SQL Server 2012 BPA) แสดงตำแหน่งเงื่อนไขของกฎการตรวจสอบเหล่านี้สำหรับค่าที่เหมาะสม ระดับสูงสุดของ parallelismไม่มีการกำหนดค่าตัวเลือกร่วมกับหมายเลขของ Cpu ในโหน NUMA และตั้งค่าคอนฟิกปริมาณงานของทรัพยากร Governor สำหรับ MAXDOP

ถ้าคุณเรียกใช้เครื่องมือ BPA และพบคำเตือน "Database Engine - ระดับของ parallelism ถูกกำหนดเป็นค่าที่แนะนำ" เปรียบเทียบระดับสูงสุดของ parallelismค่าตัวเลือกและค่า MAXDOP Governor ทรัพยากรปริมาณงาน ด้วยค่าที่แนะนำที่ระบุไว้ในส่วน "สรุป" และ "" ข้อมูลเพิ่มเติม
SQL Server 2012

คุณสมบัติ

หมายเลขบทความ (Article ID): 2806535 - รีวิวครั้งสุดท้าย: 6 กุมภาพันธ์ 2556 - Revision: 2.0
ใช้กับ
  • 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 2005 Server Enterprise
  • 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
Keywords: 
kbinfo kbmt KB2806535 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:2806535

ให้ข้อเสนอแนะ

 

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