ฉันใช้เซิร์ฟเวอร์Dell R410สองเครื่องในชั้นวางเดียวกันของดาต้าเซ็นเตอร์ (อยู่ด้านหลังตัวโหลดบาลานซ์) ทั้งคู่มีการกำหนดค่าฮาร์ดแวร์ที่เหมือนกันรัน Ubuntu 10.4 ติดตั้งแพคเกจเดียวกันและเรียกใช้เว็บเซิร์ฟเวอร์ Java เดียวกัน (ไม่มีโหลดอื่น ๆ ) และฉันเห็นความแตกต่างด้านประสิทธิภาพที่สำคัญระหว่างทั้งสอง
ความแตกต่างด้านประสิทธิภาพนั้นชัดเจนที่สุดในเวลาตอบสนองเฉลี่ยของเซิร์ฟเวอร์ทั้งสอง (วัดในแอป Java เองโดยไม่มีเวลาแฝงเครือข่าย): หนึ่งในนั้นเร็วกว่าอีก 20-30% อย่างต่อเนื่อง
ฉันเคยdstat
คิดว่าถ้ามีการสลับบริบท, IO, การสลับหรืออะไรก็ได้ แต่ฉันไม่เห็นเหตุผลของความแตกต่าง ด้วยเวิร์กโหลดเดียวกัน, (ไม่มีการสลับ, แทบไม่มี IO), การใช้ cpu และโหลดจะสูงกว่าบนเซิร์ฟเวอร์เดียว
ดังนั้นความแตกต่างจึงดูเหมือนว่าจะถูกผูกไว้กับ CPU เป็นหลัก แต่ในขณะที่มาตรฐาน cpu ง่าย ๆ ที่ใช้sysbench
(เมื่อปิดโหลดอื่น ๆ ทั้งหมด) ก็ให้ผลที่แตกต่างกันเพียง 6% ดังนั้นอาจไม่ใช่แค่ CPU เท่านั้น แต่ยังรวมถึงประสิทธิภาพของหน่วยความจำ
จนถึงตอนนี้ฉันได้ตรวจสอบ:
- การแก้ไขเฟิร์มแวร์สำหรับส่วนประกอบทั้งหมด (เหมือนกัน)
- การตั้งค่า BIOS (ฉันถ่ายโอนข้อมูลโดยใช้
dmidecode
และนั่นไม่แตกต่างกัน) - ฉันเปรียบเทียบ
/proc/cpuinfo
ไม่มีความแตกต่าง - ฉันเปรียบเทียบผลลัพธ์ของ
cpufreq-info
ไม่ต่างกัน - พารามิเตอร์ Java / JVM (เวอร์ชันและพารามิเตอร์เดียวกันบนทั้งสองระบบ)
นอกจากนี้ฉันแทนที่ RAM อย่างสมบูรณ์เมื่อหลายเดือนก่อนโดยไม่มีผลกระทบใด ๆ
ฉันหลงทาง. ฉันจะทำอย่างไรเพื่อคิดออกว่าเกิดอะไรขึ้น
อัพเดท : เย้! เซิร์ฟเวอร์ทั้งสองทำงานอย่างเท่าเทียมกันในขณะนี้ มันเป็นการตั้งค่า "power CRAP" ตามที่ jim_m_somewhere ตั้งชื่อไว้ในความคิดเห็น ตัวเลือก BIOS สำหรับ "การจัดการพลังงาน" อยู่ใน "ประสิทธิภาพสูงสุด" บนเซิร์ฟเวอร์ที่รวดเร็วและ "ตัวควบคุมพลังงานที่ใช้งานอยู่" (การตั้งค่าเริ่มต้นจาก Dell) ในอีกอันหนึ่ง เห็นได้ชัดว่าฉันลืมว่าฉันได้ตั้งค่าที่สองปีที่ผ่านมาและฉันไม่ได้ทำในเซิร์ฟเวอร์ทั้งหมด ขอบคุณทุกคนสำหรับการป้อนข้อมูลที่เป็นประโยชน์ของคุณ!