สารบัญ
ข้อความนำ
บทความนี้อธิบายถึงการสนับสนุน SQL Server ในสภาพแวดล้อมแบบไฮเปอร์เธรด
ข้อมูลเพิ่มเติม
การออกแบบหลักของ SQL Server จะทำงานในสภาพแวดล้อมแบบไฮเปอร์เธรดอย่างเต็มรูปแบบ อย่างไรก็ตามถ้าคุณกำลังใช้สภาพแวดล้อมแบบไฮเปอร์เธรดเราขอแนะนำให้คุณทำดังต่อไปนี้:
-
เรียกใช้ Microsoft SQL Server ๒๐๐๐ Service Pack 3 (SP3) หรือภายหลังเซอร์วิสแพ็ค
-
ติดตั้งการอัปเดตความปลอดภัยล่าสุด
ระบบปฏิบัติการ Microsoft Windows ทำให้ Cpu hyper เธรดแบบตรรกะปรากฏเป็น Cpu ที่มีอยู่จริง เนื่องจาก SQL Server มีการปรับขนาดสูงแล้ว Cpu เพิ่มเติมให้ SQL Server ความสามารถในการใช้ตัวประมวลผลเพิ่มเติม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสนับสนุนของ Microsoft Windows ของไฮเปอร์เธรดดิ้งแวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:
http://www.microsoft.com/whdc/system/sysinternals/ht-windows.mspxคุณจะต้องตระหนักถึงสิ่งต่อไปนี้เมื่อคุณกำลังพิจารณาการปรับใช้ hyper เธรด:
-
Licensing
-
การแมปตัวประมวลผล
-
ประสิทธิภาพ
-
ยูทิลิตี้การนับ CPU ของ Intel
ข้อมูลเพิ่มเติมเกี่ยวกับรายการแต่ละรายการต่อไปนี้
Licensing
เมื่อเปิดใช้งานไฮเปอร์เธรดดิ้งระบบเอาท์พุตพื้นฐาน (BIOS) จะใช้ตรรกะกับอัตราส่วนของ CPU ที่มีอยู่จริง การใช้งานปัจจุบันกำลังใช้อัตราส่วน2:1 ซึ่งหมายความว่ามี Cpu แบบตรรกะสอง (2) สำหรับแต่ละ CPU ที่มีอยู่จริง อัตราส่วนเหล่านี้อาจมีการเปลี่ยนแปลงในอนาคต อย่างไรก็ตาม Microsoft SQL Server ๒๐๐๐ Service Pack 3 (SP3) และเวอร์ชันที่ใหม่กว่ามีโค้ดสิทธิ์การใช้งานเพิ่มเติมที่ปรับข้อจำกัดสิทธิ์การใช้งานเพื่อจัดการกับอัตราส่วน ตัวอย่างเช่นถ้าคุณได้ติดตั้งโค้ดผลิตภัณฑ์ของ SQL Server ที่คุณได้ติดตั้งให้สิทธิ์การใช้งาน CPU 4 ที่อัตราส่วน2:1 การสร้าง SQL Server ๒๐๐๐ SP3 และรุ่นที่ใหม่กว่าจะได้รับการปรับปรุงและให้คุณใช้ Cpu 8 เมื่อคุณติดตั้ง SQL Server คุณจะใช้จำนวน CPU ที่มีอยู่จริงและคุณให้ SQL Server จัดการการแปลงอัตราส่วน ในการเปรียบเทียบเมื่อคุณตั้งค่าตัวเลือกรูปแบบความ สัมพันธ์ คุณจะใช้ค่า CPU แบบตรรกะเนื่องจาก SQL Server กำลังใช้ cpu ทั้งหมดราวกับว่าเป็นตัวประมวลผลทางกายภาพ สำหรับสิทธิ์การใช้งานเพิ่มเติมและรายละเอียดการกำหนดค่าที่ได้รับการสนับสนุนให้เยี่ยมชมเว็บไซต์ต่อไปนี้ของ Microsoft:
การแมปตัวประมวลผล
ตามค่าเริ่มต้นแล้ว SQL Server จะสร้างตัวจัดกำหนดการโหมดผู้ใช้แบบตรรกะ (บริษัท) สำหรับตัวประมวลผลแต่ละตัวตามลำดับตัวประมวลผลลำดับ ในสภาพแวดล้อมที่เปิดใช้งาน hyper เธรด Microsoft Windows จะทำให้ตัวประมวลผลทั้งหมดพร้อมใช้งานกับกระบวนการ SQL Server ราวกับว่าเป็นตัวประมวลผลทางกายภาพที่แท้จริง ตัวอย่างของการแมปตัวประมวลผลแบบตรรกะและการแมปตัวประมวลผลทางกายภาพจะแสดงในตารางต่อไปนี้ ตารางการแมปตัวประมวลผล1
ตรรกะ |
กายภาพ |
---|---|
0 |
0 |
1 |
1 |
2 |
2 |
3 |
3 |
4 |
0 |
5 |
1 |
6 |
2 |
7 |
3 |
ต่อไปนี้คือตัวอย่างการแมปตัวประมวลผลอื่น ตารางการแมปตัวประมวลผล2
ตรรกะ |
กายภาพ |
---|---|
0 |
0 |
1 |
0 |
2 |
1 |
3 |
1 |
4 |
2 |
5 |
2 |
6 |
3 |
7 |
3 |
การแมปใดก็ตามที่ยอมรับได้กับ SQL Server อย่างไรก็ตามโปรดระมัดระวังไม่ให้สร้างสถานการณ์ที่ SQL Server ถูกจำกัดโดยไม่คาดคิดกับ CPU ที่มีอยู่จริงเมื่อคาดว่าจะใช้ Cpu ที่มีอยู่จริงหลายตัวเลือกคุณสามารถใช้ตัวเลือกรูปแบบของความสัมพันธ์ของ SQL Server เพื่อเปลี่ยนแปลงการใช้ตัวประมวลผลทางกายภาพที่คาดไว้ เมื่อต้องการทำสิ่งนี้ให้ดูที่ตารางการแมปตัวประมวลผล1 ถ้ารูปแบบความสัมพันธ์คือ๐๐๐๑๐๐๐๑และใช้ตัวประมวลผล0และตัวประมวลผล4ตัวประมวลผลแบบลอจิคัลที่ใช้งานอยู่จะถูกแมปไปยังตัวประมวลผลทางกายภาพที่ #0 การทำเช่นนี้จะทำให้เกิดการใช้ตัวประมวลผลแบบทางกายภาพเดียวที่สนับสนุนตัวประมวลผลแบบลอจิคัลแทนที่จะเป็นตัวประมวลผลทางกายภาพสองตัว สถานการณ์นี้อาจจะลดประสิทธิภาพการทำงาน คุณสามารถใช้การรวมกันของตัวเลือกรูปแบบความสัมพันธ์และพารามิเตอร์เริ่มต้นของตัวพรางความสัมพันธ์ IO เพื่อเปลี่ยนลักษณะการทำงานเริ่มต้น สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกรูปแบบของความสัมพันธ์หรือพารามิเตอร์เริ่มต้นของตัวพรางความสัมพันธ์ IO ให้ดูที่ SQL Server Books Onlineหากต้องการทราบข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
๒๙๘๔๐๒ การทำความเข้าใจเกี่ยวกับวิธีการตั้งค่าตัวเลือกความสัมพันธ์ของ SQL Server I/oคำเตือน ใช้ความระมัดระวังเมื่อคุณสร้างตัวพรางความสัมพันธ์ คุณสามารถกำหนดค่ารูปแบบความสัมพันธ์อย่างไม่ถูกต้องโดยใช้ตัวประมวลผลทางกายภาพที่เหมือนกันเพื่อสนับสนุนตัวประมวลผลแบบตรรกะสองตัวเมื่อคุณต้องการใช้ตัวประมวลผลทางกายภาพที่แยกต่างหาก
ประสิทธิภาพ
ประสิทธิภาพการทำงานของสภาพแวดล้อมของ hyper เธรดจะแตกต่างกันออกไป การทดสอบแบบดั้งเดิมได้แสดงผลกำไรร้อยละ10ถึง20เปอร์เซ็นต์สำหรับปริมาณ SQL Server แต่รูปแบบของแอปพลิเคชันมีผลต่อการใช้งานที่มีนัยสำคัญ คุณอาจพบว่าแอปพลิเคชันบางอย่างไม่ได้รับการเพิ่มประสิทธิภาพการทำงานโดยการใช้ประโยชน์จากไฮเปอร์เธรดดิ้ง ถ้าตัวประมวลผลที่มีอยู่จริงอิ่มตัวอยู่แล้วโดยใช้ตัวประมวลผลแบบลอจิคัลสามารถลดปริมาณงานที่ประสบความสำเร็จได้ ตัวอย่างเช่นแอปพลิเคชันที่ทำให้เกิดการขัดแย้งระดับสูงอาจทำให้ประสิทธิภาพการทำงานลดลงในสภาพแวดล้อมแบบไฮเปอร์เธรด เราขอแนะนำให้คุณทดสอบแอปพลิเคชันของคุณอย่างละเอียดเพื่อตรวจสอบให้แน่ใจว่าสภาพแวดล้อมแบบไฮเปอร์เธรดมีประสิทธิภาพการทำงานที่คุณต้องการเมื่อเทียบกับการซื้อ Cpu ที่มีอยู่จริงเท่านั้น ไฮเปอร์เธรดดิ้งจะเป็นประโยชน์มากแต่ไฮเปอร์เธรดดิ้งไม่สามารถแทนที่พลังเต็มของ CPU ที่มีอยู่จริงเพิ่มเติมได้ผลิตภัณฑ์อื่นๆ ที่กล่าวถึงในบทความนี้เป็นผลิตภัณฑ์ที่ผลิตขึ้นโดยบริษัทอื่นๆ ที่ไม่เกี่ยวข้องกับ Microsoft Microsoft ไม่รับประกัน ทั้งโดยนัยหรืออย่างอื่นใด เกี่ยวกับประสิทธิภาพหรือความน่าเชื่อถือของผลิตภัณฑ์เหล่านี้เว็บไซต์ Intel มีข้อมูลบางอย่างที่ดีและบทช่วยสอนเกี่ยวกับไฮเปอร์เธรดดิ้ง (Intel NetBurst microarchitecture) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับระบบที่สนับสนุนการใช้งาน hyper เธรดแวะไปที่ Intel เว็บไซต์ต่อไปนี้:
http://software.intel.com/en-us/blogs/2009/06/02/intel-hyper-threading-technology-your-questions-answered http://developer.intel.com
องศาสูงสุดของ parallelism (MAXDOP)
สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
๒๘๐๖๕๓๕ คำแนะนำและแนวทางสำหรับตัวเลือกการกำหนดค่า ' ระดับสูงสุดของ parallelism ' ใน SQL Server