เซิร์ฟเวอร์ฐานข้อมูล: RAM ขนาดเล็กหรือ RAM ช้าขนาดใหญ่?


33

ขณะนี้เรากำลังออกแบบเซิร์ฟเวอร์ฐานข้อมูลใหม่ของเราและได้ทำการแลกเปลี่ยนกันฉันไม่แน่ใจว่าจะตอบอย่างไร

เหล่านี้คือตัวเลือกของเรา: 48GB 1333MHz หรือ 96GB 1066MHz

ฉันคิดว่า RAM ควรมีมากมายสำหรับเซิร์ฟเวอร์ฐานข้อมูล (เรามีข้อมูลมากมายและมีจำนวนมากและมีการสืบค้นที่มีขนาดใหญ่มาก) แทนที่จะเร็วเท่าที่ควรจะเป็น เห็นได้ชัดว่าเราไม่สามารถรับชิป 16GB ที่ 1333MHz ดังนั้นตัวเลือกข้างต้น

ดังนั้นเราควรได้แรมช้ากว่าหรือ RAM เร็วกว่าหรือไม่

ข้อมูลเสริม:

จำนวนช่อง DIMM ที่มี: 6
เซิร์ฟเวอร์: Dell Blades CPU: 6 คอร์ (ซ็อกเก็ตเดียวเนื่องจากการออกใบอนุญาตของ Oracle)


12
IMO ความจุ RAM เพิ่มขึ้น 100% จะเพิ่มความเร็ว RAM ได้อีก 20%
Joe Internet

3
โดยเฉพาะอย่างยิ่งเพราะยังไม่ถึง 20%;)
TomTom

ขอบคุณทุกคน ฉันค่อนข้างแน่ใจในเรื่องนี้เช่นกัน แต่ต้องการการยืนยัน
Josh Smeaton

คำตอบ:


59

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


แน่นอนขึ้นอยู่กับขนาดฐานข้อมูล - รายละเอียดพื้นฐาน แต่ยังสำคัญ
Morg

ใช่และ Josh ระบุไว้อย่างชัดเจนว่าสถานการณ์ในมือนั้นเกี่ยวข้องกับ "ข้อมูลมากมาย"
Skyhawk

สำหรับบางคนหนึ่งล้านแถวดูเหมือนว่า "ข้อมูลมากมายและมากมาย" แทบจะไม่มีเหตุผลที่จะไม่มีทุกอย่างในความทรงจำ;)
Morg

16

เอาล่ะมันง่ายมาก ๆ :

ฐานข้อมูลของคุณพอดีกับ RAM 48GB กับระบบปฏิบัติการหรือไม่? ถ้าใช่รับสิ่งนั้น อื่น ๆ ใช้เวลา 96GB

นอกจากนี้การปรับฐานข้อมูลใน RAM xyz GB นั้นสอดคล้องกับดัชนีมุมมองและทุกสิ่ง

ความคิดเห็นเกี่ยวกับ SSD นั้นไร้สาระสมบูรณ์ที่สุดทั้งแบนด์วิดท์และเวลาในการเข้าถึงไม่ได้อยู่ในระดับเดียวกันและไม่มี SSD ที่สามารถพิสูจน์ให้เห็นว่าใช้ RAM น้อยลง


5
นี่เป็นข้อมูลที่สำคัญมาก หากฐานข้อมูลมีขนาดเพียง 5GB และไม่ได้วางแผนว่าจะใหญ่ขึ้นมากคุณอาจใช้ RAM ที่เร็วกว่าได้
Kibbee

13

ฐานข้อมูลเท่านั้น? ฉันคิดว่า RAM ที่ใหญ่กว่าจะดีกว่านี้ขึ้นอยู่กับฐานข้อมูล ความแตกต่างของความเร็วได้รับการพิสูจน์แล้วว่าดีที่สุดเพียงเล็กน้อย แต่ 48gb เพิ่มเติม / อาจสร้างความแตกต่างอย่างมาก


11

RAM ขนาดใหญ่แน่นอนความเร็วจะถูกสาป

การเข้าถึงข้อมูลแบบสุ่มสำหรับเทคโนโลยี RAM จาก XX ศตวรรษ '90 ต่ำกว่า 100 ns นั่นคือการใช้ชิปโบราณที่ใช้งานได้จริงซึ่งไม่เหมาะกับสิ่งที่เป็นแนวเขตแดนร่วมสมัย

การเข้าถึงข้อมูลแบบสุ่มสำหรับฮาร์ดไดรฟ์ที่ทันสมัยขนาด 15k rpm นั้นวัดเป็นหน่วยเป็นมิลลิวินาที 100 ns นั้นสั้นกว่า 10,000 เท่า (นาโน -> ไมโคร -> หนึ่งในพัน) มากกว่า 1 มิลลิวินาที RAM ปัจจุบันเร็วกว่าและ HDD ต้องการเวลาหลายมิลลิวินาทีในการเข้าถึงข้อมูล ฉันไม่สนหรอกถ้า RAM ของฉันเร็วกว่า 50 000 หรือเร็วกว่า HDD เพียง 30 000 เท่าถ้าฉันได้อะไรมากกว่านี้


5

คุณต้องให้ความสนใจในบางประเด็น:

  • lantecyหน่วยความจำความเร็วหน่วยความจำขึ้นอยู่กับสองปัจจัย: ความเร็วบัสและเวลาแฝง ชิปที่มีความหนาแน่นมากขึ้นส่งผลให้เกิดความหน่วงแฝงที่สูงขึ้นซึ่งสุดท้ายแล้วหมายถึงความเร็วที่น้อยลง
  • ข้อมูลดัชนีทั้งหมด y ที่สำคัญที่สุดในการโหลดข้อมูลดัชนีทั้งหมดลงในหน่วยความจำ ข้อมูลดัชนีเป็นข้อมูลที่สำคัญที่สุดที่คุณต้องการในหน่วยความจำ (เอฟเฟกต์การลงโทษที่สูงขึ้นในประสิทธิภาพ)
  • ความเร็วดิสก์คุณมีข้อมูลฐานข้อมูลที่จัดเก็บใน SSD หรือไม่ หากคำตอบคือใช่ให้ระวังหน่วยความจำแฝงเป็นพิเศษ

2

หน่วยความจำ BANDWIDTH = / = ความเร็ว!

ข้อมูลที่ขาดหายไปที่สำคัญที่สุดอาจเป็นข้อมูลกำหนดเวลาหน่วยความจำและประเภท CPU / FSB ลดความล่าช้าในการโหลดหน่วยความจำของ CPU ลงสักสองสามรอบและคุณจะระเบิด ram สองเท่าของแบนด์วิดท์ในการคำนวณบางอย่าง ฐานข้อมูลบางตัวไม่ใช้ RAM จำนวนมากเนื่องจากระบบปฏิบัติการและเหตุผลทางเทคนิคเซิร์ฟเวอร์ฐานข้อมูลใดที่คุณใช้อยู่ ประเภท CPU? L [123] ระดับแคชหรือไม่ ประเภทของแบบสอบถามที่จะเรียกใช้? ขนาดของฐานข้อมูล?


2
-1 ข้อเท็จจริงผิดใน 99.9% ของกรณี
TomTom

คุณหมายถึงส่วนใด
Silverfire

2
ฐานข้อมูลใด ๆ ที่มีขนาดใหญ่กว่าหน่วยความจำช้าลงทันที cpu cycles เป็นเรื่องตลกเมื่อเปรียบเทียบกับ - เว้นแต่เป็นกรณี OLAP ที่พิเศษมาก - เวลาแฝงของ IO ที่แนะนำ ฐานข้อมูลส่วนใหญ่ใช้ ram จำนวนมหาศาล - dataase samllest ที่ดีที่สุดที่ฉันเคยเห็นว่าไม่ใช่เรื่องตลกสำหรับฐานข้อมูลขนาดเล็กที่ใหญ่กว่าการใช้ RAM มากกว่าเวิร์กสเตชันเฉลี่ยหลายเท่า ถ้าคุณไม่ยืนยันที่จะใช้เทคโนโลยีที่ล้าสมัย ("ขีด จำกัด ของระบบปฏิบัติการ") และความเร็วของ cpu และ fsb ไม่ได้สร้างความแตกต่าง - ฐานข้อมูลต้องการหน่วยความจำ
TomTom

0

ก่อนที่จะใช้จ่ายเงินมากเกินไปกับฮาร์ดแวร์ผิดฉันจะทำการทดสอบและวิเคราะห์ก่อนซื้อฮาร์ดแวร์

  • ก่อนอื่นลองนึกถึง SLA ของคุณ
  • ความต้องการที่ยากต่อประสิทธิภาพและเวลาตอบสนอง?

คุณเลือกควรขึ้นอยู่กับปัจจัยหลายประการ:

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

  • การวิเคราะห์ของคุณอาจมีความเกี่ยวข้องอย่างมากกับผู้พัฒนาฐานข้อมูลและซอฟต์แวร์และนักออกแบบคิว SQL

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


1
ฉันเป็นนักพัฒนาซอฟต์แวร์และช่วยในการตัดสินใจเกี่ยวกับเรื่องนี้ เราไม่มีผู้ดูแลระบบที่แท้จริงดังนั้นเราทุกคน (6 คน) จึงมีส่วนร่วมในการอภิปราย เซิร์ฟเวอร์ปัจจุบันของเราคือ 32 บิตและไม่สามารถทำได้มากเนื่องจากขีด จำกัด หน่วยความจำต่อกระบวนการ เครือข่าย / พื้นที่เก็บข้อมูลของเรานั้นดีพอสมควร แบ็คเอนด์จัดเก็บข้อมูลเป็น SAN ซีพียูของเราไม่เคย maxed ค่าใช้จ่ายส่วนใหญ่ที่เกี่ยวข้องกับการค้นหาของเราคือ I / O ซึ่งควรได้รับการบรรเทาด้วยความสามารถในการใช้ RAM เพิ่มเติม เรากำลังอัปเกรดเป็น RAC ด้วย เรามีความคิดที่ชัดเจนว่าเราต้องการอะไร มันเป็น minutia ที่น่าสงสัย
Josh Smeaton
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.