SSD สามารถเร็วกว่า ramdisk ได้หรือไม่


9

ดังนั้น ssd ทั่วไปจะมีความเร็วในการอ่าน 250 - 500 mb / วินาที และ ram จะมีประมาณ 10x กว่านั้น

คำถามของฉันคือ: 4 ssds ที่มี raid-0 สามารถเร็วกว่าบล็อกหน่วยความจำ ram เดียวด้วยเหตุผลบางอย่างได้ไหม?

ฉันจะไปด้วย ram และ ramdisk มากมายหรือ 4 ssds กับ raid-0 ไหนเร็วกว่ากัน

คำตอบ:


12

ดังนั้น ssd ทั่วไปจะมีความเร็วในการอ่าน 250 - 500 mb / วินาที และ ram จะมีประมาณ 10x กว่านั้น

คุณอ้างถึง RAM ประเภทใด แน่นอนว่าไม่ใช่สิ่งที่ใช้กันทั่วไปในพีซีเมื่อเร็ว ๆ นี้ดูเหมือนว่า

DDR3 SDRAMสามารถให้อัตราการถ่ายโอนที่ประมาณ 10 GB / s (คุณต้องใช้ DDR3-1333 สำหรับสิ่งนั้น) และในปัจจุบันนั้นมีความเร็วสูงสุดที่ประมาณ 17 GB / s สำหรับ DDR3-2133

สมมติว่าคุณดึง SSD สี่ตัวที่มีความสามารถในการส่ง 500 MB / s และระบบโดยรวมมีความสามารถในการจัดการนั้น (ไม่มีการโต้แย้งของบัสระบบยังคงเป็น I / O-bound ฯลฯ ) สิ่งนี้จะช่วยให้คุณมีปริมาณงานสูงสุดทางทฤษฎี 2 GB / s 4xSSD สูญเสียเกือบ 10 เท่า

DDR3 SDRAM มีเวลาแฝงในภูมิภาค 10 ns SSD ที่ดีอาจให้คุณสูงสุดถึง 100k IOPS ซึ่งหมายถึงความหน่วง 10,000 ns (ตัวอย่างเช่น Intel 530 ระบุ 41k IOPS สำหรับการอ่านแบบสุ่ม 4k ซึ่งให้เวลาแฝงของคุณเกือบ 25,000 ns)

ปลด SSD อย่างรวดเร็วสี่ตัวและละเว้นโอเวอร์เฮดทั้งหมดและคุณอาจได้รับ 400k IOPS หรือ 2,500 ns latency 4xSSD แพ้ 250 เท่า

ข้อมูลจาก SSD ต้องไปที่ไหนสักแห่งและ "ที่ไหนสักแห่ง" จะเป็น RAM ซีพียูสามารถคว้าได้จากที่นั่น แต่ไม่ได้พูดคุยโดยตรงกับ SSD มากกว่าที่จะพูดถึงโดยตรงกับฮาร์ดดิสก์ไดรฟ์ที่หมุนได้

ถ้าเราสมมติว่าคุณไม่ต้องทนทุกข์กับการทะเลาะวิวาทบนบัสบน SSD มันสมเหตุสมผลที่จะถือว่า RAM ตัวเดียวกัน ซึ่งนำไปสู่ข้อสรุปว่าจากการวัดผลเหล่านี้SSD นั้นช้ามากเมื่อเทียบกับ DDR3 SDRAM

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


ramdisk มันเป็น .. ..
Koray Tugay

1
@KorayTugay หากคุณต้องการประสิทธิภาพสูงสุดคุณควรไปกับ RAM disk แต่โปรดจำไว้ว่า RAM disk นั้นไม่ทำงานเหมือนกับ RAM และมีชุดของข้อเสียเองไม่ใช่อย่างน้อยราคา . (นอกจากนี้ในขณะที่ฉันชื่นชมการยอมรับฉันขอแนะนำให้คุณรอสักครู่ก่อนที่จะยอมรับคำตอบในกรณีที่คนอื่นให้คำตอบที่ดียิ่งขึ้น)
CVn

@KorayTugay: โดยทั่วไปแล้วคำตอบของ "ฉันต้องการ RAMDisk หรือไม่" เกือบทุกครั้ง "ไม่ถ้าคุณต้องการมันจริงๆคุณจะรู้พอว่าคุณไม่ต้องถาม" คุณกำลังทำอะไรที่ทำให้คุณคิดว่าคุณต้องการ
afrazier

การพัฒนาและการทดสอบ @frazier ด้วยฐานข้อมูลขนาดใหญ่และฉันสามารถเข้าถึงได้หลายครั้งและมีการดึงข้อมูลจำนวนมากออกมา ฉันจะเก็บฐานข้อมูลไว้ในหน่วยความจำ ฉันทำสิ่งนี้เป็นเวลา 8 10 ชั่วโมงต่อวันและรอ 4 5 วินาทีดูเหมือนจะนานเกินไปหลังจากผ่านไประยะหนึ่ง ฉันต้องกดฐานข้อมูลให้เร็วขึ้น
Koray Tugay

5
DBMS ที่มีความสามารถใด ๆ จะเก็บ DB ใน RAM มากที่สุด ถ้าฐานข้อมูลของคุณเล็กพอที่จะใส่ใน RAMdisk มันก็เล็กพอที่จะพอดีกับ RAM การปรับ DBMS ของคุณด้วย SSD อย่างถูกต้องจะให้ประสิทธิภาพที่คุณกำลังมองหา - สำหรับการพัฒนาในพื้นที่คุณสามารถใช้ประโยชน์จากสิ่งต่าง ๆ เช่นเขียนแคชกลับและไม่ต้องกังวลเรื่องกรด RAMdisk กำลังต่อสู้กับระบบ
afrazier

4

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

นี่คือสาเหตุที่ดิสก์ RAM เร็วขึ้นแม้ในชุดฮาร์ดแวร์พิเศษ (เช่น SSD ที่เร็วมากถูกรวมกับ RAM ช้ามาก)


1
นี่เป็นคำตอบที่ดีที่สุด
ChrisInEdmonton

sudo zfs set primarycache=none tankแคชที่ใช้ RAM ของคุณมีอยู่ (แน่นอนว่าคุณกำลังใช้ ZFS)
CVn

@ MichaelKjörlingถูกต้องและแม้กระทั่งสิ่งก่อสร้างที่ไม่ใช่ zfs ก็มีความเป็นไปได้ที่จะปิดการอ่านแคช แต่แม้ในกรณีนี้ถ้าคุณทำการโทร $ read () $ มันจะเป็นการคัดลอกจาก SSD ไปยัง RAM คุณไม่สามารถหลีกเลี่ยงสิ่งนี้ได้ยกเว้นว่าคุณกำลังอ่านข้อมูลอย่างใดอย่างหนึ่งโดยตรงในแคชของ CPU (ซึ่งหมายความว่าคุณหลีกเลี่ยง DMA), AMD cpus (และอาจ intels) มีตัวจัดการหน่วยความจำในตัวฉันคิดว่ารุ่นที่แก้ไขเล็กน้อย อย่างใดสามารถทำได้ แต่ถึงแม้ในกรณีนี้มันจะต้องมีการปรับเปลี่ยนซีพียู
peterh - Reinstate Monica

3

ในการตอบคำถามจริงของคุณ: ไม่ RAM มีลำดับความสำคัญของแบนด์วิดท์มากกว่าและลำดับความสำคัญน้อยกว่าเวลาในการตอบสนอง มันไม่ได้ปิด

ในการตอบคำถามที่คุณไม่ได้ถาม: สิ่งที่คุณวางแผนจะทำคือความคิดที่ไม่ดีเว้นแต่คุณจะมีกรณีการใช้งานที่เฉพาะเจาะจงซึ่งต้องใช้แบนด์วิดท์แบบนั้น หากคุณต้องการความเร็วแบบนั้นจริงๆการใช้ SSD แบบ PCIe (เช่น ioDrive หรือ Intel 910 จะเร็วกว่าถุง SATA SSD ใน RAID-0 มาก

SSD ปัจจุบันใด ๆ จะเร็วพอสำหรับผู้บริโภคและผู้ที่ชื่นชอบงานที่คุณกำลังจะเป็นคอขวด


ที่จริงแล้วความหน่วงของ DDR3 ไม่ใช่ลำดับความสำคัญต่ำกว่า SSD มันลดขนาดสามถึงสี่คำสั่ง ดูคำตอบของฉันสำหรับตัวเลขจริง (ความแตกต่างของแบนด์วิธอยู่ใน ballpark แน่นอน)
CVn

ความหน่วงแฝงไม่สำคัญเนื่องจาก IO เกิดขึ้นในบล็อก อย่างน้อยในบล็อก 4K แบนด์วิดธ์เป็นสิ่งสำคัญ
peterh - Reinstate Monica

@PeterHorvath: ความหน่วงยังคงเป็นเรื่องใหญ่สำหรับ SSD ดูการวิจัยและการเปรียบเทียบทั้งหมดเพื่อความสอดคล้องและปัญหาการพูดติดอ่างของ SSD ในช่วงต้น และดังที่ Michael Kjörlingกล่าวถึงความหน่วงของ RAM คือคำสั่งขนาดเล็กกว่า SSD เวลาแฝงของแคช Lx นั้นลดลงอย่างมีนัยสำคัญและความหน่วงของการลงทะเบียน CPU นั้นต่ำกว่ามาก และมันก็เป็นเรื่องของประสิทธิภาพ
afrazier

1

RAM จะเร็วกว่าระบบบัสต่อพ่วงใด ๆ (เช่น SATA) เสมอ

แต่เมื่อคุณจัดการกับแรมดิสก์คุณไม่ได้จัดการกับแรมเพียงอย่างเดียว นอกจากนี้ยังมีซอฟต์แวร์อีกมากมาย (ระบบไฟล์และไดรเวอร์อุปกรณ์) เพื่อพิจารณาว่า "แปลง" RAM ดิบเป็นสิ่งที่ระบบปฏิบัติการจะเห็นว่าเป็นที่เก็บดิสก์

ความรวดเร็วของแรมดิสก์จะขึ้นอยู่กับคุณภาพของซอฟต์แวร์นั้นอย่างแท้จริง

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

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

PS จำไว้ว่า RAM-disk นั้นจะมีความผันผวน หลังจากบู๊ตเครื่องคุณจะต้องโหลดข้อมูลในตอนแรก เมื่อปิดเครื่องคุณจะต้องบันทึกเนื้อหา (หากคุณต้องการสำหรับการใช้งานครั้งต่อไป) หากระบบขัดข้องคุณปล่อย RAM-disk ไม่ให้บันทึกอะไรเลย
นี่คือสิ่งที่คุณจะต้องคำนึงถึงโดยเฉพาะอย่างยิ่งหากคุณคาดว่าจะรีบูตบ่อยครั้ง การบันทึก / โหลดเนื้อหาดิสก์ RAM อาจน้อยกว่าเล็กน้อย


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