เราอยู่บนเซิร์ฟเวอร์เฉพาะ (quad-core เดียว, RAM 6 GB) และกำลังย้ายไปยังเซิร์ฟเวอร์เฉพาะใหม่ (2x hex-core, 32 GB RAM) ทั้งสองเป็น Windows Server 2008, SQL Server 2008 ประสิทธิภาพการทำงานบนเซิร์ฟเวอร์ใหม่นั้นแย่กว่าเซิร์ฟเวอร์เก่าที่ช้ากว่าเล็กน้อย
ในการทดสอบแอปพลิเคชัน ASP.NET ของเราทำงานช้าลง 10 - 20% การเรียกใช้ข้อความค้นหาราคาแพงทีละรายการด้วยสถิติ IO และสถิติเวลาแสดงเวลาที่ผ่านไปมากกว่า 10 - 20% บนเซิร์ฟเวอร์ใหม่ โปรไฟล์การสืบค้นข้อมูล SQL แสดงการใช้งาน CPU ที่สูงขึ้นสำหรับการสืบค้นที่มีราคาแพง
ตัวจัดการงานบนเซิร์ฟเวอร์ใหม่แสดงให้เห็นว่า sqlserver.exe ใช้ RAM ขนาด 22 GB แต่ค่าของ CPU ยังคงต่ำอยู่เสมอ
ฉันได้อัปเดตสถิติทั้งหมดสร้างใหม่หรือจัดดัชนีใหม่ ฯลฯ แผนการดำเนินการควรถูกจัดเก็บไว้ในเซิร์ฟเวอร์ใหม่ ณ จุดนี้เนื่องจากปริมาณการทดสอบที่ฉันทำ หากมีดัชนีขาดหายไป (ฉันไม่คิดว่ามี) ก็จะส่งผลกระทบต่อเซิร์ฟเวอร์เก่าและใหม่เท่า ๆ กัน ใหม่มีการสำรองข้อมูลที่กู้คืนของข้อมูลเดิมบนเก่า
ฉันคาดว่าประสิทธิภาพของเซิร์ฟเวอร์ใหม่จะดีขึ้น แต่สิ่งที่น่าเป็นห่วงคือโหลดขึ้น หากเซิร์ฟเวอร์เก่าทำงานได้ดีขึ้นแม้ในขณะโหลดดังนั้นจะเกิดอะไรขึ้นเมื่อเซิร์ฟเวอร์ใหม่เซิร์ฟเวอร์ที่แย่ลงเล็กน้อยต้องรับภาระนั้น
มีอะไรอีกที่ฉันขาดหายไปจากที่นี่?
แก้ไข: MAXDOP ตั้งไว้ที่ 6
เซิร์ฟเวอร์เก่ามีระบบปฏิบัติการฐานข้อมูลและ tempdb อยู่ในฟิสิคัลไดรฟ์เดียวกัน (RAID 10) รวม 4 15k 3 Gb / s 3.5 นิ้ว SAS เซิร์ฟเวอร์ใหม่มีชุดไดรฟ์สามชุด: ระบบปฏิบัติการบน RAID 1, ฐานข้อมูลบน RAID 10, tempdb บน RAID 5 รวม 9 15K 6 Gb / s 2.5 นิ้ว SAS
เซิร์ฟเวอร์เก่ามี 1 x Intel Xeon E5620 2.40 GHz Quad-Core 8 เธรด (กว้าง H / T) เซิร์ฟเวอร์ใหม่มี 2 x Intel Xeon E5-2640 2.5 GHz หก -Core 12 เธรด (w H / T)
แก้ไข 2: นี่คือการวิเคราะห์ขั้นสุดท้าย:
แผนการใช้พลังงานมีความสมดุลไม่ได้มีประสิทธิภาพสูง เปลี่ยนไปมากกว่านั้น
Tempdb อยู่ใน RAID 5 ไม่ใช่ RAID 10 เพิ่ม HD อีกอันเพื่อสร้างการกำหนดค่า RAID 10 ที่แตกต่างกันสองรายการหนึ่งรายการสำหรับ tempdb และอีกหนึ่งรายการสำหรับทุกสิ่งอื่น
ไม่รวมไฟล์ที่เกี่ยวข้องกับ SQL (mdf, ldf, ndf, bak) จากการสแกนไวรัส
สร้างดัชนีใหม่ทั้งหมดหลังจากย้ายไปยังเซิร์ฟเวอร์ใหม่ มีการแยกส่วนอย่างมาก - อาจเป็นผลมาจากการสำรองข้อมูลคัดลอกกู้คืนหรือไม่
และฉันรู้ว่าตัวประมวลผลการกระโดดนั้นไม่ใหญ่ ข้อความค้นหาจะไม่ทำงานเร็วกว่านี้มากนัก แต่ด้วยตัวประมวลผลเพิ่มเติมแกนเพิ่มเติมและ RAM มากกว่าเราจะสามารถปรับขนาดได้มากขึ้น