การจัดการพลังงานของ CPU ส่งผลต่อประสิทธิภาพของเซิร์ฟเวอร์หรือไม่


44

ผมทำบางอย่างมือง่ายในการเปรียบเทียบ (สด) เซิร์ฟเวอร์ฐานข้อมูลของเราในช่วงเวลาไม่ peak และผมสังเกตเห็นว่าคำสั่งกลับผลมาตรฐานค่อนข้างกับร่องกับรอย

ฉันได้เปิดใช้งานแผนการประหยัดพลังงานแบบ "สมดุล" ในทุกเซิร์ฟเวอร์ของเราเมื่อไม่นานมานี้เพราะฉันคิดว่าพวกเขาไม่มีประโยชน์ในการใช้งานสูงและวิธีนี้เราสามารถประหยัดพลังงานได้

ฉันสันนิษฐานว่าสิ่งนี้จะไม่มีผลกระทบอย่างมีนัยสำคัญที่วัดได้ต่อประสิทธิภาพการทำงาน อย่างไรก็ตามคุณสมบัติถ้าประหยัดพลังงาน CPU จะส่งผลกระทบต่อประสิทธิภาพการทำงานทั่วไป - โดยเฉพาะอย่างยิ่งบนเซิร์ฟเวอร์ฐานข้อมูลที่ใช้ร่วมกัน - แล้วผมไม่แน่ใจว่ามันคุ้มค่า!

ฉันรู้สึกประหลาดใจเล็กน้อยที่ระดับเว็บของเราแม้ว่าจะมีภาระ 35-40% ก็ลดลงจาก 2.8 Ghz ที่ 1.25V เป็น 2.0 Ghz ที่ 1.15V

ฉันคาดหวังอย่างเต็มที่ว่าการตอกบัตรลงเพื่อประหยัดพลังงาน แต่ระดับโหลดนั้นสูงพอสำหรับฉันที่ควรจะเตะด้วยความเร็วสัญญาณนาฬิกาเต็ม

เซิร์ฟเวอร์ฐานข้อมูล 8-cpu ของเรามีทราฟฟิกจำนวนมากแต่การใช้งาน CPU ต่ำมาก (เนื่องจากลักษณะของเคียวรี SQL ของเรา - มีจำนวนมาก แต่เป็นเคียวรีง่ายๆจริง ๆ ) ปกติจะนั่งที่ 10% หรือน้อยกว่า ดังนั้นฉันจึงคาดหวังว่ามันจะลดระดับลงมากกว่าภาพหน้าจอด้านบน อย่างไรก็ตามเมื่อผมหันไปจัดการพลังงาน "ประสิทธิภาพสูง" ผมเห็นมาตรฐานแบบสอบถาม SQL ที่เรียบง่ายของฉันดีขึ้นประมาณ 20% และกลายเป็นความสอดคล้องมากจากการวิ่งไปวิ่ง

ฉันคิดว่าฉันคิดว่าการจัดการพลังงานบนเซิร์ฟเวอร์ที่โหลดเบา ๆ เป็นแบบ win-win - ไม่มีการสูญเสียประสิทธิภาพและการประหยัดพลังงานอย่างมีนัยสำคัญเนื่องจาก CPU เป็นผู้ใช้พลังงานอันดับ 1 หรือ # 2 ในเซิร์ฟเวอร์ส่วนใหญ่ แต่นั่นไม่ได้ดูเหมือนจะเป็นกรณี; คุณจะทิ้งประสิทธิภาพไว้ด้วยการเปิดใช้งานการจัดการพลังงาน CPU เว้นแต่ว่าเซิร์ฟเวอร์ของคุณจะมีภาระมากจนการจัดการพลังงานได้ปิดตัวลงอย่างมีประสิทธิภาพ ผลลัพธ์นี้ทำให้ฉันประหลาดใจ

ใครบ้างมีประสบการณ์หรือคำแนะนำอื่น ๆ เพื่อแบ่งปันในการจัดการพลังงาน CPU สำหรับเซิร์ฟเวอร์หรือไม่ มันเป็นสิ่งที่คุณเปิดหรือปิดบนเซิร์ฟเวอร์ของคุณ? คุณวัดพลังงานได้มากแค่ไหนคุณประหยัด? คุณเคยเปรียบเทียบกับมันแล้วหรือยัง?


2
ฉันเกลียดที่จะพูดแบบนี้ แต่คุณให้คำตอบของคุณเอง ดูสามฟองอากาศถัดจาก "ประสิทธิภาพ" สำหรับโหมดสมดุลและอีกหกฟองสำหรับโหมดประสิทธิภาพสูง? มีความแตกต่าง :) การประหยัดพลังงานนั้นถูกนำไปใช้เป็นอย่างมากโดยการลดการทำงานของซีพียู คุณจะเห็นการแสดงที่ได้รับความนิยมแม้ว่ามันจะสามารถทำให้มันกลับมาทำงานได้
Bill Weiss

ใช่ แต่ "สมดุล" จะเปิดใช้งานตามค่าเริ่มต้นใน Windows Server 2008 R2 สำหรับฉันแล้วมันไม่ได้มีประสิทธิภาพที่สำคัญในการใช้งานทั่วไปเช่นเซิร์ฟเวอร์ที่โหลดเบา ๆ
Jeff Atwood

4
สามฟองเทียบกับหก! ที่ดูเหมือนแตกต่างกันมาก! :)
Bill Weiss

1
Windows: ทำให้มนุษย์ลดน้อยลงตั้งแต่ปี 1985
Michael Graff

คำตอบ:


16

ฉันไม่แน่ใจเกี่ยวกับเซิร์ฟเวอร์ แต่การคิดในปัจจุบันในอุปกรณ์ฝังตัวไม่ต้องกังวลกับขั้นตอนระหว่างพลังงานต่ำและแบนเพราะเวลาพิเศษที่เกี่ยวข้องจะกินการประหยัดพลังงานของคุณดังนั้นโดยทั่วไปพวกเขาใช้พลังงานต่ำจนกว่าพวกเขาจะได้รับ ปริมาณซีพียูที่แท้จริงที่จุดที่พวกเขาพลิกไปเป็นไปได้ที่เร็วที่สุดเพื่อให้พวกเขาสามารถเสร็จงานและกลับไปที่ไม่ทำงานที่พลังงานต่ำ


1
ฉันเห็นนี้เป็นวิธีที่มันควรจะทำงานบนเซิร์ฟเวอร์
Jeff Atwood

11

ฉันได้ปิดการจัดการพลังงานทุกประเภทบนเซิร์ฟเวอร์เสมอ ฉันอยากรู้ว่าคนอื่นมีประสบการณ์อย่างไร แต่ฉันคิดเสมอว่าถ้าเซิร์ฟเวอร์อยู่ภายใต้การตอกบัตรจะมีความล่าช้าในการ 'เพิ่ม' CPU เป็น 100% และในการตั้งค่าศูนย์ข้อมูลล่าช้าเช่นนี้ ยอมรับไม่ได้

ข้อมูลที่คุณให้ดูเหมือนจะสนับสนุนสมมติฐานนี้ ดังนั้นฉันยังไม่ได้ทำการทดสอบใด ๆ แต่ดูเหมือนว่าคุณไม่ควรใช้เทคโนโลยีประหยัดพลังงานใด ๆ ใน Windows หรือ BIOS ฉันยังปิดการตั้งค่า 'ปิดเครือข่าย' และการ์ด PCI เพื่อเป็นแบบอนุรักษ์นิยมเป็นพิเศษ


8

ความสามารถนี้จะช่วยคุณประหยัดพลังงานมากแค่ไหน :
หากคุณตัดสินใจว่าคุณสมบัตินี้อาจทำให้เซิร์ฟเวอร์ของคุณมีความเสี่ยง (ฉันเคยมีประสบการณ์ในเรื่องนี้มาก่อน) คุณอาจหาที่อื่นในการประหยัดพลังงาน

ฉันจะพยายามค้นหาว่าประหยัดพลังงานได้เท่าไรสำหรับปริมาณเซิร์ฟเวอร์ที่คุณมี (แม้ว่าบางทีคุณอาจทำสิ่งนี้ไปแล้ว) เนื่องจากกราฟที่คุณโพสต์ในคำตอบของคุณคือเปอร์เซ็นต์สำหรับ บริษัท ของคุณการประหยัดอาจเป็นพลังงานที่แท้จริงเพียงเล็กน้อย หากคุณไม่มีเซิร์ฟเวอร์จำนวนมากมันอาจจะไม่มากนักและการเปิดไฟแบบเคลื่อนไหวหรืออะไรทำนองนั้นในสำนักงานของคุณอาจช่วยประหยัดพลังงานได้มากขึ้น (แม้ว่าจะไม่เป็นที่ต้องการของตลาดก็ตาม)

ฉันจำได้ว่าอ่านหนังสือสองสามปีก่อนเกี่ยวกับหนึ่งใน บริษัท รถยนต์รายใหญ่ของอเมริกา (ลืมว่า) มีแรงกดดันที่จะเปลี่ยนการปล่อยไอเสียของรถยนต์ของพวกเขา แทน บริษัท แสดงให้เห็นว่าถ้ามันต่อยอดโรงงานบางแห่งมันจะถูกกว่าสำหรับพวกเขาและทำให้ประหยัดการปล่อยมลพิษมากขึ้น

อย่าลืมดิสก์:
นอกจากนี้คุณอาจต้องการตรวจสอบว่าคุณสมบัติการประหยัดพลังงานเหล่านี้ไม่ได้หมุนดิสก์ลงหากไม่ได้ใช้งาน อาจจะสักครู่ในขณะที่ผลลัพธ์การสืบค้น SQL ทั้งหมดจะอยู่ใน RAM ดิสก์จะถูกใช้และเข้าสู่โหมดสลีป (ไม่แน่ใจว่ามันใช้งานได้หรือไม่) หากสิ่งนี้สามารถเกิดขึ้นได้จะมีโทษประสิทธิภาพสูงในขณะที่ทุกอย่างหมุนอีกครั้ง


4
โอ้ใช่ดิสก์ที่หมุนลงค่อนข้างเสี่ยงบนเซิร์ฟเวอร์ เรามีที่เปิดใช้งานบน NAS และเบรนท์ของเรา Ozar (SQL / ผู้เชี่ยวชาญ DBA ของเรา) แนะนำให้เราว่าเรื่องนี้เป็นความคิดที่ดีมาก .. หมุนทุกขึ้นเป็นเหมือนการจับสลากเพื่อดูว่าไดรฟ์จริงจะทำให้มันกลับมา :)
เจฟฟ์ Atwood

โหมด "ปรับสมดุล" ช่วยให้ฉันประหยัด 10 วัตต์เมื่อไม่ได้ใช้งานเมื่อเทียบกับโหมด "High performace" (~ 15.5W เทียบกับ ~ 25.5W บน Core i7 4790) แต่โหมดสมดุลบน Windows Server 2012 ดูเหมือนจะไม่เพิ่มขึ้นตามความเร็วสัญญาณนาฬิกาสูงสุดของ CPU ซึ่งจะส่งผลกระทบต่อประสิทธิภาพการค้นหาฐานข้อมูลอย่างรุนแรง
Ryan Anderson

8

คุณจะทิ้งประสิทธิภาพไว้ด้วยการเปิดใช้งานการจัดการพลังงาน CPU เว้นแต่ว่าเซิร์ฟเวอร์ของคุณจะมีภาระมากจนการจัดการพลังงานได้ปิดตัวลงอย่างมีประสิทธิภาพ ผลลัพธ์นี้ทำให้ฉันประหลาดใจ

คำนำ: ฉันกำลังสร้าง leaps / generalization เกี่ยวกับ Intel Xeons และประสิทธิภาพการประหยัดพลังงานด้วย SpeedStep ในการอ่านเกี่ยวกับซีพียู Intel Xeon " Yorkfield " 45nm, Enhanced Intel SpeedStep Technology (EIST) และ Enhanced Halt State (C1E) ดูเหมือนจะเป็นผู้กระทำผิดจริงของสถานการณ์ ฉันจะเห็นด้วยกับสถานะของคุณในการเชื่อว่าการเปิดคุณสมบัติการจัดการพลังงานดังกล่าวจะช่วยอนุรักษ์พลังงาน แต่เมื่อซีพียูต้องการพลังงานภายใต้ภาระซึ่งระบบจะกลับสู่การตั้งค่าความเร็วนาฬิกาแรงดันไฟฟ้าปกติ ปรากฏว่า EIST และ C1E มีผลข้างเคียงบางอย่างที่ไม่ได้บอกเป็นนัย ๆ เมื่อใช้ / หรือตัวเลือกใน BIOS หลังจากคลานผ่านเว็บไซต์การโอเวอร์คล็อกจำนวนมากดูเหมือนว่าการตั้งค่าทั้งสองนี้ใน BIOS ทำให้เกิดความยุ่งยากเล็กน้อย

จากhttp://www.overclock.net/intel-cpus/376099-speedstep-guide-why-does-my-processor.html :

C1E (Enhanced Halt State) : C1E เป็นส่วนประกอบที่ง่ายกว่าของทั้งสอง มันสามารถเปิดใช้งานหรือปิดการใช้งานใน BIOS และดำเนินการเป็นอิสระจากระบบปฏิบัติการ C1E มีการกำหนดค่าสองแบบ - แบบไม่ใช้งานและโหลด เมื่อการใช้งาน CPU ค่อนข้างต่ำคุณสมบัตินี้จะลดตัวคูณของโปรเซสเซอร์ลงไปที่การตั้งค่าต่ำสุด (ปกติ 6x) และลด vCore ลงเล็กน้อย ระหว่างแอปพลิเคชั่นที่ใช้ CPU มากมันจะเพิ่มตัวคูณให้เป็นค่าสูงสุดและจะช่วยเพิ่ม vCore เล็กน้อยเพื่อชดเชย ในตัวอย่างของเรา C1E จะทำให้โปรเซสเซอร์ของคุณวิ่ง 6x หรือ 9x เอฟเอส

EIST (Enhanced Intel SpeedStep Technology) : นี่เป็นคุณสมบัติที่แข็งแกร่งมากและมีความสามารถในการประหยัดพลังงานที่หลากหลาย เช่นเดียวกับลูกพี่ลูกน้องที่เรียบง่าย EIST สามารถส่งผลกระทบต่อทั้งแรงดันไฟฟ้าของ CPU และตัวคูณ - อย่างไรก็ตามมันมีการปรับตั้งค่าหลายระดับ แทนที่จะเป็นการตั้งค่า "ช้าหรือเร็ว" อย่างง่าย SpeedStep สามารถใช้ตัวคูณที่มีอยู่ทั้งหมดได้ ในกรณีตัวอย่างของเรา EIST จะอนุญาตให้ตัวประมวลผลของคุณทำงานด้วยตัวคูณ 6, 7, 8 หรือ 9และเลือกตัวเลือกที่จะใช้ตามความต้องการ CPU ของคุณ EIST ควบคุมโดย Windows และใช้ "แผนการใช้พลังงาน" ที่แตกต่างซึ่งคุณอาจเห็นในแผงควบคุมของคุณ

ในขณะที่การปรับการตั้งค่าประสิทธิภาพของคุณสำหรับ "ประสิทธิภาพสูง" อาจเป็นการตั้งค่าที่ดีที่สุดสำหรับเซิร์ฟเวอร์ฐานข้อมูลฉันค่อนข้างแน่ใจว่า EIST และ / หรือ C1E ทำให้ซีพียูทำงานภายใต้การทำงานแม้ว่าจะควรกลับไปสู่การตั้งค่าปกติเมื่อโหลด เพิ่มขึ้นอย่างมาก ข้อแม้ที่ยิ่งใหญ่สำหรับฉันดูเหมือนจะเป็น ตามเว็บไซต์ overclockers.net พวกเขาอ้างว่า EIST ใช้การตั้งค่า "แผนการใช้พลังงาน" เหล่านั้นสำหรับวิธีจัดการการตั้งค่า CPU ของคุณ แต่ไม่มีข้อบ่งชี้ของเปอร์เซ็นต์ของการโหลดหรือนานเท่าไหร่ที่จะรู้ว่าเมื่อใดที่จะเปลี่ยน CPU กลับไปเป็นแรงดันไฟฟ้าปกติ

อีกครั้งฉันไม่ได้เป็นผู้เชี่ยวชาญในเรื่องของ Intel CPU แต่ฉันอยากเดิมพันว่าการปรับการตั้งค่าทั้งสองนี้อาจช่วยให้คุณประหยัดพลังงานที่คุณต้องการและประสิทธิภาพที่คุณควรได้รับ แต่ติดกับการตั้งค่า "ประสิทธิภาพสูงสุด" มีประสิทธิภาพเท่ากับโดยไม่ต้องรีบูต


5

คำตอบที่รวดเร็วคือ: แน่นอนการประหยัดพลังงานจะส่งผลต่อประสิทธิภาพ

คำตอบอีกต่อไปไม่สนุก ลองตั้งค่าทดสอบประสิทธิภาพและตัดสินใจว่าคุณจะอยู่กับอะไรได้บ้าง

แอปพลิเคชันและระบบมีความซับซ้อนมากจนไม่มีคำตอบแบบตัดและแบบแห้งที่นี่นอกจาก "ใช่เวลาตอบสนองและความเร็วของระบบอื่น ๆ จะได้รับผลกระทบ" หากมันช้ากว่าฮาร์ดไดรฟ์หรือเครือข่าย - ดีคุณจะได้รับแนวคิด ทดสอบในความเป็นจริง


4

ฉันพยายามที่จะ VM เป็นเซิร์ฟเวอร์ให้มากที่สุดเท่าที่จะทำได้ แต่ที่ฉันต้อง 'bare-metal' เซิร์ฟเวอร์มันมักจะเป็นตามที่ฉันต้องการหรือต้องการประสิทธิภาพที่สอดคล้องกันโดยสิ้นเชิง ดังนั้นสำหรับเครื่องจักรที่สำคัญต่อธุรกิจเหล่านี้ฉันไม่เคยเปลี่ยนอะไรเลยที่เกี่ยวข้องกับการประหยัดพลังงานไม่ว่าด้วยเหตุผลใดก็ตามที่คุณกำลังประสบอยู่

*** ปังไป-เขียวข้อมูลประจำตัวของฉัน *


3

บางสิ่ง:

  1. เช็คอิน BIOS เพื่อให้แน่ใจว่าการจัดการพลังงานอยู่ภายใต้การควบคุมระบบปฏิบัติการ อาจเป็นไปได้ว่ามีการตั้งค่าให้จัดการโดยเฟิร์มแวร์ดังนั้นจึงใช้การจัดการพลังงานตัวประมวลผลที่เป็นใบ้และไม่มีประสิทธิภาพ

  2. ตรวจสอบดูว่ามีโปรแกรมแก้ไขด่วนที่เกี่ยวข้องกับการจัดการพลังงานหรือไม่ซึ่งคุณอาจหายไป มีคนที่มีชื่อเสียงไม่กี่คนในสมัยที่ Vista / Server 2008 ออกมา

  3. ตรวจสอบการกำหนดค่าโดยละเอียดสำหรับ Balanced เป็นไปได้ว่าคุณสมบัติการประหยัดพลังงานอื่นเป็นสาเหตุให้ประสิทธิภาพลดลง ในทางทฤษฎีแล้วประสิทธิภาพที่ได้จาก EIST นั้นน่าจะน้อยมากแม้ว่าฐานข้อมูล SQL จะมีรอยเท้าที่เป็นเอกลักษณ์และเป็นไปได้ว่าจะได้รับผลกระทบอย่างไม่เป็นสัดส่วนจากการจัดการพลังงานของโปรเซสเซอร์


1
โอ้ฉันมาสายไปงานเลี้ยง ...
Bigbio2002

2

ข้อมูลบางอย่างจาก Microsoft (รูปแบบ Word Doc, น่าเสียดาย)

ปรับปรุงประสิทธิภาพการใช้พลังงานและจัดการการใช้พลังงานด้วย Windows Server 2008 R2

Windows Server 2008 มีประสิทธิภาพการใช้พลังงานโดยรวมมากกว่ารุ่นก่อนหน้า Windows Server 2003 โดยค่าเริ่มต้น Windows Server 2008 จะเรียกใช้แผนการประหยัดพลังงานแบบ“ สมดุล”ซึ่งมีจุดมุ่งหมายเพื่อให้ประสิทธิภาพการทำงานสูงในขณะที่ประหยัดพลังงาน ซึ่งหมายความว่า Windows Server 2008 ใช้พลังงานน้อยกว่าการติดตั้งพื้นฐานของ Windows Server 2003 เนื่องจากโหมด“ สมดุล” จะเพิ่มประสิทธิภาพการใช้พลังงานนอกกรอบ (OOB) ให้มากที่สุด Microsoft ขอแนะนำให้เว้นการตั้งค่าเริ่มต้น“ สมดุล” ที่เลือกไว้ ในกรณีส่วนใหญ่.

Windows Server 2008 มีโหมดเริ่มต้นเพิ่มเติมสองโหมดคือ "ประหยัดพลังงาน" และ "ประสิทธิภาพสูง" ซึ่งมีเป้าหมายด้านพลังงานและประสิทธิภาพแตกต่างกันและอาจเหมาะสมในบางสถานการณ์ โหมด“ ประสิทธิภาพสูง” อาจเหมาะสมสำหรับเซิร์ฟเวอร์ที่ทำงานด้วยการใช้งานที่สูงมากและจำเป็นต้องให้ประสิทธิภาพสูงสุดโดยไม่คำนึงถึงค่าใช้จ่ายด้านพลังงาน โหมด“ ประหยัดพลังงาน” สามารถใช้กับเซิร์ฟเวอร์ที่ใช้งานน้อยซึ่งมีความสามารถด้านประสิทธิภาพมากกว่าที่ต้องการ การใช้“ ตัวประหยัดพลังงาน” ในสถานการณ์นี้อาจช่วยให้ประหยัดพลังงานได้มากขึ้น

คุณสมบัติการประหยัดพลังงาน CPU ระดับฮาร์ดแวร์เหล่านี้โดยเฉพาะนั้นเหมือนกันภายใต้ระบบปฏิบัติการใด ๆ มันเป็นเพียงคำถามว่าคุณเปิดใช้งานหรือไม่

กราฟประหยัดพลังงานที่ไม่มีการจัดการพลังงาน CPU, กับการจัดการพลังงาน CPU:

เราชัดเจนว่า (และกราฟนี้แสดงให้เห็นว่า) ในระดับการใช้ประโยชน์สูงการจัดการพลังงานของ CPU จะถูกปิดโดยอัตโนมัติ อย่างไรก็ตามสิ่งที่ฉันยังไม่ชัดเจนคือว่าระดับการใช้งานต่ำมีผลกระทบต่อประสิทธิภาพของเซิร์ฟเวอร์โดยรวมหรือไม่เช่นเวลาตอบสนองสำหรับแบบสอบถาม SQL Server ที่เรียบง่าย


ดูเหมือนจะไร้เดียงสาที่จะเชื่อว่ากระดาษสีขาวที่เขียนโดย Microsoft เกี่ยวกับหนึ่งในผลิตภัณฑ์ของตนเอง จุดประสงค์ของสถานที่นั้นอาจถูกต้อง แต่ตัวเลขจริงอาจแตกต่างกันไป
gekkz

1
ไม่เชื่ออะไร ว่า"สมดุล" ตามค่าเริ่มต้น ? นั่นคือข้อเท็จจริง .. ติดตั้ง Windows Server 2008 R2 ถ้าคุณไม่เชื่อฉัน
Jeff Atwood

@Jeff Atwood: ฉันคิดว่าเขาอาจหมายถึงผลการประหยัดพลังงานที่แท้จริงของกราฟ อาจมีความสนใจที่จะแสดงสถิติในลักษณะที่แสดงการประหยัดพลังงานที่เป็นไปได้มากที่สุดสำหรับเหตุผลทางการตลาด ตัวอย่างเช่นเปอร์เซ็นต์ของวัตต์สูงสุดดูเหมือนแปลกเล็กน้อยทำไมไม่เพียงแค่วางวัตต์จริงไว้ อย่างไรก็ตามตามข้อจำกัดความรับผิดชอบอาจมีเหตุผลที่ดีมากที่พวกเขาเลือกตัวชี้วัดนั้น (หากนั่นคือแม้แต่คำที่ถูกต้อง)
Kyle Brandt

ประหยัดพลังงาน (10% ต่อกราฟเล็กน้อย) ของการเปิดใช้งานการจัดการพลังงานของ CPU นั้นเถียงไม่ได้ .. คุณสามารถใช้ kill-a-watt และพีซีที่บ้านของคุณเองเพื่อตรวจสอบว่า มันสูงกว่าบนพีซีในบ้านเนื่องจากพวกเขามักจะมีไดรฟ์หน่วยความจำตัวควบคุมการจู่โจมน้อยลงและดูดพลังงาน
Jeff Atwood

@ KyleBrandt - ฉันสงสัยว่าร้อยละของกำลังไฟสูงสุดถูกนำมาใช้เพื่อให้การค้นพบทั่วไปมากขึ้น วิธีนี้คุณใช้สิ่งที่ค้นพบกับเครื่องของคุณ (ที่ดึง 400w ที่เบื่อเต็มเมื่อเทียบกับเซิร์ฟเวอร์ XXX วัตต์ในกระดาษ)
EricB

0

คุณไม่ควรใช้การตั้งค่า Windows หรือ Bios Speedstep ซึ่งมาพร้อมกับโปรเซสเซอร์ของ Intel และยังเทียบเท่ากับ AMD อีกด้วย สิ่งเหล่านี้อาจทำให้เกิดปัญหาและฉันได้เห็นปัญหาดังกล่าวเมื่อใช้ Speedstep นาฬิกา CPU จะกระดอนขึ้นและลงอย่างผิดปกติแม้ว่าการใช้ทรัพยากร CPU จะสอดคล้องกัน

หากคุณต้องการเป็นมิตรกับสิ่งแวดล้อมและประหยัดพลังงานให้ใช้โปรเซสเซอร์พลังงานต่ำที่กำหนดด้วยตัวอักษร L หน้าชื่อรุ่นเช่นL 54XX series และL 55XX series จาก Intel

แก้ไข: ฉันขอโทษถ้าฉันให้ความประทับใจว่าคุณลักษณะนี้จะล้มเหลวเสมอฉันเพิ่งถูกเผาโดยมันและในภารกิจสำคัญของระบบฉันไม่สามารถทำให้เรื่องแบบนี้เกิดขึ้นได้ดังนั้นฉันจึงพยายามอยู่ต่อ ห่างจากมัน


ฉันไม่คิดว่ามันจะทำให้เกิดปัญหาหรือไม่เป็นค่าเริ่มต้นในเกือบทุกระบบปฏิบัติการและ CPU ที่ทันสมัย คุณอาจนึกถึงเทคโนโลยีการประหยัดพลังงานของ CPU รุ่นเก่ากว่านี้หรือไม่กี่ปีที่ผ่านมา?
Jeff Atwood

ดูเหมือนว่าคุณจะถือว่าทุกอย่างที่มีคุณสมบัติทำงานได้อย่างถูกต้อง ฉันกำลังพูดถึงประสบการณ์โดยตรงกับการตั้งค่า E5520 คู่ซึ่งมีปัญหานั้นในเซิร์ฟเวอร์สองเครื่อง
gekkz

@gekkz ฉันไม่คิดว่าจะมีใครพูดว่ามันเป็นไปไม่ได้ที่จะทำให้เกิดปัญหา แต่คำตอบของคุณแสดงให้เห็นว่ามันมักจะทำให้เกิดปัญหาซึ่งมักจะเป็นเรื่องจริง ถ้าเป็นเช่นนั้นเซิร์ฟเวอร์นับพัน (พันล้าน) จากนั้นจะมีปัญหาที่เกิดจากสิ่งนี้ในตอนนี้
phoebus

0

เมื่อคุณพูดถึงประสิทธิภาพการทำงานบนเซิร์ฟเวอร์มีหลายวิธีในการดู มีเวลาตอบสนองที่ชัดเจน (คล้ายกับเวลาแฝงเครือข่าย) และปริมาณงาน (คล้ายกับแบนด์วิดท์เครือข่าย)

Windows Server บางรุ่นมาพร้อมกับการตั้งค่าพลังงานขั้นสูงที่เปิดใช้งานโดยค่าเริ่มต้น อย่างที่เจฟฟ์ชี้ให้เห็น Windows 2008 R2 เป็นหนึ่งในนั้น ซีพียูน้อยมากในวันนี้คือแกนเดียวดังนั้นคำอธิบายนี้ใช้กับเซิร์ฟเวอร์ Windows เกือบทุกตัวที่คุณจะพบยกเว้น VM แบบ single-core (เพิ่มเติมในภายหลัง)

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

สิ่งที่เป็นปัญหาคือความจริงที่ว่าเมื่อ CPU ไม่ได้อยู่ในระบบคุณได้เพิ่มรอบของ CPU ที่มีอยู่เป็นสองเท่าในระบบและทำให้การโหลดบนระบบนั้นไม่สมดุลทำให้เกิดการใช้งานจาก 70% เป็น 35% ระบบจะมองที่และหลังจากที่มีการประมวลผลปริมาณการใช้งานแล้วมันก็คิดว่า "เฮ้ฉันควรหมุนกลับเล็กน้อยเพื่อประหยัดพลังงาน" และมันก็เป็นเช่นนั้น

นี่คือส่วนที่ไม่ดี เพื่อป้องกันการกระจายความร้อนและพลังงานที่ไม่สม่ำเสมอภายในแกนประมวลผล CPU มีแนวโน้มที่จะจอด CPU ที่ไม่ได้จอดไว้เมื่อเร็ว ๆ นี้ และเพื่อให้การทำงานอย่างถูกต้อง CPU ต้องล้างข้อมูลทุกอย่างจากการลงทะเบียน CPU (แคช L1, L2 & L3) ไปยังตำแหน่งอื่น (หน่วยความจำหลักหลัก)

ตัวอย่างสมมุติว่าคุณมีซีพียู 8 คอร์ที่มี C1-C8

  • ใช้งานอยู่: C1, C3, C5, C7
  • ที่พัก: C2, C4, C6, C8

เมื่อสิ่งนี้เกิดขึ้นพวกเขาทั้งหมดจะเริ่มทำงานในช่วงระยะเวลาหนึ่งแล้วระบบจะจอดดังนี้:

  • ใช้งานอยู่: C2, C4, C6, C8
  • จอดอยู่: C1, C3, C5, C7

แต่ในการทำเช่นนั้นมีค่าใช้จ่ายจำนวนมากที่เกี่ยวข้องกับการล้างข้อมูลทั้งหมดจากแคช L1-L3 เพื่อให้เกิดขึ้นเพื่อให้ข้อผิดพลาดแปลก ๆ ไม่ได้เกิดขึ้นกับโปรแกรมที่ถูกล้างออกจากไปป์ของ CPU

อาจมีชื่ออย่างเป็นทางการสำหรับมัน แต่ฉันชอบที่จะอธิบายว่าเ โดยทั่วไปโปรเซสเซอร์จะใช้เวลามากขึ้นในการทำงานที่ยุ่งไม่ว่าจะเป็นการย้ายข้อมูลไปรอบ ๆ ภายในหรือไม่

หากคุณมีแอปพลิเคชันประเภทใดที่ต้องการเวลาแฝงต่ำสำหรับการร้องขอคุณต้องปิดใช้งานการตั้งค่าพลังงานสมดุล หากคุณไม่แน่ใจว่านี่เป็นปัญหาหรือไม่ให้ทำดังนี้:

  1. เปิด "ตัวจัดการงาน"
  2. คลิกแท็บ "ประสิทธิภาพ"
  3. คลิก "ตรวจสอบทรัพยากรเปิด"
  4. เลือกแท็บ "CPU"
  5. ดูที่ด้านขวาของหน้าต่างที่ CPU ต่างๆ

หากคุณเห็นพวกเขาคนใดคนหนึ่งจอดอยู่คุณจะสังเกตเห็นว่าครึ่งหนึ่งของพวกเขาจอดอยู่ตามเวลาที่กำหนดพวกเขาทั้งหมดจะจุดไฟแล้วอีกครึ่งหนึ่งก็จะจอด มันสลับไปมา ดังนั้น CPU ของระบบจึงน่าทึ่ง

เครื่องเสมือน: ปัญหานี้ยิ่งแย่ลงเมื่อคุณเรียกใช้เครื่องเสมือนเนื่องจากมีไฮเปอร์ไวเซอร์เพิ่มเติม โดยทั่วไปการพูดเพื่อให้ VM สามารถทำงานได้ฮาร์ดแวร์จำเป็นต้องมีช่วงเวลาที่พร้อมใช้งานสำหรับแต่ละคอร์ในแต่ละช่วงเวลา

หากคุณมีฮาร์ดแวร์หลัก 16 ชิ้นคุณสามารถเรียกใช้ VM โดยใช้แกนประมวลผลรวมมากกว่า 16 แกน แต่สำหรับแต่ละช่วงเวลาเฉพาะซีพียูเสมือนสูงสุด 16 ตัวเท่านั้นที่จะมีสิทธิ์ได้รับชิ้นส่วนนั้นในเวลานั้นและไฮเปอร์ไวเซอร์ต้องพอดีกับแกนทั้งหมดสำหรับ VM ในเวลานั้น ไม่สามารถแพร่กระจายได้หลายครั้ง (ไทม์สเป็นชุดของรอบ X CPU โดยอาจเป็น 1,000 หรืออาจเป็น 100k รอบ)

เช่นฮาร์ดแวร์ 16 คอร์ที่มี 8 VM 6 มี 4 CPU เสมือน (4C) และ 2 มี 8 CPU เสมือน (8C)

ไทม์ลิซ 1: 4x4C ไทม์ลิซ 2: 2x8C ไทม์ลิซ 3: 2x4C + 1x8C ไทม์ลิซ 4: 1x8C + 2x4C

สิ่งที่ไฮเปอร์ไวเซอร์ไม่สามารถทำได้คือแบ่งครึ่งของการจัดสรรสำหรับ timeslice ให้กับ 4 CPU แรกของ 8 vCPU VM และจากนั้นใน timeslice ถัดไปให้เหลือ 4 vCPU ของ VM นั้น มันคือทั้งหมดหรือไม่มีอะไรภายในเวลาที่ดี

หากคุณใช้ Hyper-V ของ Microsoft การตั้งค่าการควบคุมพลังงานสามารถเปิดใช้งานในโฮสต์ระบบปฏิบัติการซึ่งหมายความว่ามันจะแพร่กระจายไปยังระบบไคลเอนต์ซึ่งส่งผลกระทบต่อพวกเขาเช่นกัน

เมื่อคุณเห็นวิธีการทำงานมันเป็นเรื่องง่ายที่จะดูว่าการใช้การตั้งค่าการควบคุมพลังงานแบบสมดุลทำให้เกิดปัญหาประสิทธิภาพและเซิร์ฟเวอร์ที่ซบเซา หนึ่งในปัญหาพื้นฐานคือการร้องขอขาเข้าต้องรอให้ CPU ที่จอดรถ / กระบวนการ unparking เสร็จสมบูรณ์ก่อนที่เซิร์ฟเวอร์จะสามารถตอบสนองต่อการร้องขอที่เข้ามาไม่ว่าจะเป็นแบบสอบถามฐานข้อมูลคำขอของเว็บเซิร์ฟเวอร์หรือสิ่งอื่นใด .

บางครั้งระบบจะจอดหรือไม่รับซีพียูในระหว่างการร้องขอ ในกรณีเหล่านี้คำขอจะเริ่มลงในไพพ์ไลน์ของ CPU ทิ้งลงไปจากนั้นแกน CPU อื่นจะรับกระบวนการจากที่นั่น หากเป็นคำขอที่หนักหน่วงอาจเกิดขึ้นหลายครั้งตลอดระยะเวลาของคำขอเปลี่ยนสิ่งที่ควรเป็นแบบสอบถามฐานข้อมูล 5 วินาทีเป็นคิวรีฐานข้อมูล 15 วินาที

สิ่งที่ยิ่งใหญ่ที่สุดที่คุณจะเห็นจากการใช้ Balanced Power คือระบบจะรู้สึกช้าลงเพื่อตอบสนองทุกคำขอที่คุณทำ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.