ฉันไม่รู้จริงๆว่าจะเริ่มต้นอย่างไรเพราะทั้งหมดนี้เป็นข้อมูลที่ยอดเยี่ยม ฉันจะเริ่มต้นด้วยข้อมูลบางอย่างเกี่ยวกับ SSD จากนั้นอธิบายถึงวิธีการแคชที่แตกต่างกันทั้งหมดและไปจากที่นั่น ฉันหวังว่าคุณ
ข้อดีข้อเสีย
- ราคา: SSD ค่อนข้างแพง
- ความจุสูงสุดและทั่วไป: SSD ความจุสูงนั้นหายากและมีราคาแพง
- ความเร็ว: นี่คือจุดที่ SSD ได้เปรียบ
- ความทนทาน: SSD ไม่มีชิ้นส่วนเคลื่อนไหว
ดีที่สุดที่จะมีระบบไฮบริดที่ดีที่สุดของทั้งสองโลก (ความจุความน่าเชื่อถือความเร็ว ฯลฯ )
เคอร์เนล Linux 3.9 (วางจำหน่ายในวันที่ 28 เมษายน 2013) แนะนำการแคช SSD Device mapper ของเคอร์เนลในขณะนี้มีเป้าหมายแคชที่เรียกว่า dm-cache ที่เปิดใช้งาน SSD หรืออุปกรณ์เก็บข้อมูลอื่น ๆ เพื่อใช้เป็นแคชสำหรับฮาร์ดไดรฟ์ มันช่วยเร่งความเร็วในการเขียนและอ่านข้อมูลเนื่องจากจะทำให้ SSD เร็วขึ้นเพื่อเก็บข้อมูลแคชก่อนแล้วจึงโอนไปยังฮาร์ดไดรฟ์ที่ช้ากว่า
ที่มา: Iwn
Flashcache เป็นโมดูลที่เขียนและเปิดตัวครั้งแรกโดย Facebook (Mohan Srinivasan, Paul Saab และ Vadim Tkachenko) ในเดือนเมษายนปี 2010 มันเป็นโมดูลเคอร์เนลที่ช่วยให้ Writethrough แคชไดรฟ์ในไดรฟ์อื่น ส่วนใหญ่มักใช้สำหรับแคชไดรฟ์แบบหมุนในไดรฟ์โซลิดสเตทขนาดเล็กลงเพื่อเหตุผลด้านประสิทธิภาพ สิ่งนี้จะช่วยให้คุณมีความเร็วของ SSD และขนาดของไดรฟ์การหมุนแบบมาตรฐานสำหรับไฟล์ที่แคชไว้เมื่อเร็ว ๆ นี้ FlashCache เป็นแคชบล็อกการเขียนกลับวัตถุประสงค์ทั่วไปสำหรับ Linux
ที่มา: ArchLinux
Bcache เป็นแคชเลเยอร์เคอร์เนลบล็อกของ Linux อนุญาตให้หนึ่งหรือมากกว่าดิสก์ไดรฟ์ที่รวดเร็วเช่นแฟลชไดรฟ์โซลิดสเตต (SSD) ทำหน้าที่เป็นแคชสำหรับฮาร์ดดิสก์ไดรฟ์ที่ช้ากว่าหนึ่งตัว
ฮาร์ดไดรฟ์มีราคาถูกและใหญ่ SSD นั้นเร็ว แต่เล็กและแพง มันจะไม่ดีถ้าคุณสามารถได้รับข้อดีของทั้งสองอย่างโปร่งใส ด้วย Bcache คุณสามารถมีเค้กของคุณและกินมันได้เช่นกัน
โปรแกรมแก้ไข Bcache สำหรับเคอร์เนล Linux อนุญาตให้หนึ่งใช้ SSD เพื่อแคชอุปกรณ์บล็อกอื่น ๆ มันคล้ายกับ L2Arc สำหรับ ZFS แต่ Bcache ยังทำแคชการเขียนกลับ (นอกเหนือจากการเขียนผ่านการแคช) และระบบไฟล์เป็นผู้ไม่เชื่อเรื่องพระเจ้า มันถูกออกแบบมาให้สามารถเปิดได้โดยใช้ความพยายามน้อยที่สุดและทำงานได้ดีโดยไม่ต้องตั้งค่าใด ๆ โดยค่าเริ่มต้นมันจะไม่แคชตามลำดับ IO เพียงแค่อ่านและเขียนแบบสุ่มว่า SSD นั้นยอดเยี่ยม เหมาะสำหรับเดสก์ท็อปเซิร์ฟเวอร์อาร์เรย์หน่วยเก็บข้อมูลระดับสูงและอาจฝังอยู่
เป้าหมายการออกแบบจะเร็วเท่ากับ SSD และอุปกรณ์แคช (ขึ้นอยู่กับการเข้าชมแคชเทียบกับการพลาดและการเขียนทับเมื่อเขียนทับ) ภายในขอบเขตของข้อผิดพลาด ยังไม่ค่อยมีส่วนใหญ่สำหรับการอ่านตามลำดับ แต่การทดสอบแสดงให้เห็นว่ามันเป็นไปได้อย่างเด่นชัดและแม้แต่ในบางกรณีก็ทำได้ดีกว่า - การเขียนแบบสุ่มเป็นหลัก
ที่มา: Bcache
Bcache มีข้อเสียอย่างใหญ่หลวงและใช้หน่วยความจำจากระบบเพื่อนำแคชไปใช้
EnhanceIO เป็นโซลูชั่นที่ทำงานภายใต้ชั้นแอปพลิเคชันซึ่งทำให้แอปพลิเคชันสามารถใช้ประโยชน์ด้านประสิทธิภาพของ SSD ได้โดยไม่ต้องมีการเปลี่ยนแปลงโครงสร้างพื้นฐานด้านไอทีที่สำคัญ แคช SSD สามารถให้ประโยชน์สูงสุดจากการเปลี่ยนจาก HDD เป็น SSD ในราคาเพียงเศษเสี้ยวของระบบ all-SSD โดยทั่วไประบบแคชจะใช้พลังงานน้อยกว่าระบบที่ใช้ HDD ที่มีประสิทธิภาพใกล้เคียงกันและสร้างประโยชน์ด้านข้างด้วยการลดความต้องการการระบายความร้อน
แคช SSD ยังสามารถยืดอายุการใช้งานของระบบที่มีอยู่ด้วยการปรับปรุงประสิทธิภาพเพื่อตอบสนองความต้องการที่เพิ่มขึ้นผ่านการลงทุนที่เพิ่มขึ้นมากกว่าผ่านการอัพเกรด / เปลี่ยนระบบที่มีอยู่ในปัจจุบัน
การแคชยังช่วยให้สามารถเข้าถึงข้อมูลได้เร็วขึ้นโดยไม่ต้องมีค่าใช้จ่ายในการบริหารหน่วยเก็บข้อมูลเพิ่มเติมเพื่อรับและติดตั้งชั้นวางดิสก์ใหม่กำหนดค่า LUN ใหม่และย้ายข้อมูลไปยัง LUN ใหม่ การแคชเกือบจะโปร่งใสและต้องการการหยุดทำงานเพียงเล็กน้อย EnhanceIO ขึ้นอยู่กับ Flashcache
ที่มา: Stec-Inc
bcache เป็นสิ่งที่ไร้ค่าที่สุดเนื่องจากต้องใช้พาร์ติชันข้อมูลที่จัดเตรียมไว้เป็นพิเศษ สิ่งนี้ทำให้เป็นเรื่องยาก (ถ้าเป็นไปได้) ในการแนบแคชไปยังพาร์ติชั่นที่มีข้อมูลเนื่องจากต้องการความจุ 200% และการย้ายข้อมูลที่ยาวนานเพื่อเปิดใช้งาน / ยกเลิกการแคช
ความสามารถของ EnhanceIO นั้นไม่จำเป็นต้องใช้อุปกรณ์ระดับกลางเลยและสามารถเชื่อมต่อกับอุปกรณ์บล็อกใดก็ได้แบบทันทีแม้ว่าจะติดตั้งอุปกรณ์แล้วก็ตาม อีกสิ่งที่ยอดเยี่ยมมากคือคุณสามารถแนบแคช EnhanceIO ไม่เพียง แต่จะแบ่งพาร์ติชัน แต่ยังกั้นอุปกรณ์บล็อกที่แบ่งพาร์ติชันเพื่อแคชพาร์ติชันทั้งหมดในครั้งเดียว เช่นเดียวกับโมดูล flashcache enchanceio สร้างขึ้นด้วย DKMS และสามารถใช้กับเมล็ดที่เก่ากว่าได้
ที่มา: Debian
ข้อดีของ DM Cache
แคช DM ใช้สถาปัตยกรรมที่เรียบง่ายซึ่งทำให้ปรับได้ง่ายและปรับแต่งได้ง่าย ผู้ใช้สามารถปรับขนาดบล็อกและความจุแคชตามจำนวนข้อมูลที่จะจัดการหรือมูลค่าของข้อมูล หากแอปพลิเคชันเฉพาะต้องการจัดเก็บข้อมูลจำนวนมากตามลำดับผู้ใช้สามารถกำหนดค่าแคชสำหรับวัตถุประสงค์นั้น หากผู้ใช้ต้องการบันทึกข้อมูลในฐานข้อมูลพร้อมกับแคชนั่นจะไม่รบกวนการทำงานของแคช
DM Cache Dis- ข้อดี
หนึ่งข้อเสียเปรียบในการใช้แคช DM คือระบบปฏิบัติการ Linux มีพื้นที่ จำกัด สำหรับการจัดเก็บข้อมูลเมตา หากแคชมีขนาดใหญ่และรวมบล็อกขนาดเล็กจำนวนมากซึ่งจะเพิ่มข้อมูลเมตาจำนวนมากสำหรับข้อมูลที่เก็บไว้ ในการแก้ปัญหานี้ผู้ใช้จะต้องเพิ่มขนาดบล็อก ปัญหาที่เป็นไปได้อีกประการหนึ่งคือหลังจากเซิร์ฟเวอร์ขัดข้องเมตาดาต้าแคชอาจไม่ตรงกับเนื้อหาแคชแม้ว่าจะสามารถกู้คืนการกำหนดค่าที่ถูกต้องได้ในที่สุด
ที่มา: การเติมเต็มของเฟรเซอร์เชอร์แมน
ดังนั้นจากข้อมูลข้างต้นเป็นที่ชัดเจนว่า EnhanceIO เป็นวิธีที่จะไป แต่ในความคิดของฉันเพราะมันขึ้นอยู่กับ Flashcache ฉันจะไปกับแคชแฟลช แต่ฉันจะลองทั้งสองอย่างแน่นอนก่อนตัดสินใจขั้นสุดท้าย
zram-config
ซึ่งจะให้ความสำคัญกับการใช้งาน swap และจัดเก็บเกมบน SDD และทดสอบ เกมบางเกมจะไม่ทำงานเร็วขึ้นมากเกมอื่น ๆ จะทำงานได้ดี! ฉันชอบที่จะไม่ใช้ SDD เป็นแคชเนื่องจากขีด จำกัด ของการเขียน แต่ SDDs จะได้รับราคาถูกเพื่อ thats ไม่กังวลมากอีกต่อไป :)