ค่อนข้างซับซ้อน มีความแตกต่างที่สำคัญระหว่างระบบไฟล์ที่คุณพูดถึงและการพิจารณาผลกระทบของความแตกต่างเหล่านี้กับความเร็วคือ IMHO, ไม่น่ารำคาญและขึ้นอยู่กับการดำเนินการที่จะทำ
ก่อนอื่นมาทิ้งความเป็นไปได้ของการติดตั้งระบบไฟล์รูทของคุณบนพาร์ติชัน FAT หรือ NTFS ระบบไฟล์เหล่านี้เข้ากันไม่ได้กับ Linux kernel และสิทธิ์ระบบไฟล์ Linux ไม่สามารถทำงานได้อย่างถูกต้องดังนั้นคุณจะมีปัญหาที่น่าสนใจมากมาย
หมายเหตุ : FAT32 เป็นตัวเลือกที่ดีสำหรับสื่อบันทึกการติดตั้ง USB และ NTFS เป็นตัวเลือกที่ดีในสถานการณ์ดูอัลบูท (พร้อม Windows) สำหรับพาร์ติชันที่คุณต้องการใช้ในการจัดเก็บข้อมูลส่วนตัว (เช่นไลบรารีสื่อของคุณเป็นต้น) ทั้ง Ubuntu (หรือระบบ Linux อื่น ๆ ) และ Windows ระบบ Linux สามารถอ่าน (และเขียนไปยัง) พาร์ติชัน NTFS ตราบใดที่ติดตั้งอย่างถูกต้อง แต่พาร์ติชัน ext * ไม่สามารถอ่านได้อย่างง่ายดายไปยัง Windows (เท่าที่ฉันรู้)
ระบบ ext * ถูกออกแบบมาเพื่อใช้กับเคอร์เนล Linux การใช้ ext2,3 หรือ 4 สำหรับการติดตั้ง Ubuntu ของคุณจะสมบูรณ์แบบ อาจเป็นความแตกต่างที่ใหญ่ที่สุดระหว่างพวกเขา
- ext2 ไม่ใช่การทำเจอร์นัล
- ext3 คือการทำเจอร์นัล แต่อย่างอื่นมีโครงสร้างข้อมูลและคุณสมบัติที่คล้ายคลึงกันเพื่อ ext2
- ext4 กำลังทำบันทึกและมีคุณสมบัติเพิ่มประสิทธิภาพบางอย่างรวมถึงอัลกอริทึมที่เร็วกว่าสำหรับการจัดสรรบล็อกเมื่อเทียบกับระบบ ext * รุ่นก่อนหน้าแม้ว่าจะมีโครงสร้างข้อมูลที่คล้ายคลึงกันก็ตาม
มันสำคัญที่จะต้องทราบฉันคิดว่าความเร็วนั้นไม่ได้พิจารณาเพียงอย่างเดียวเมื่อเลือกระบบไฟล์ Ext4 มีข้อ จำกัด น้อยกว่ารุ่นก่อนหน้าทำให้มีระบบไฟล์ที่ใหญ่กว่าไดเรกทอรีย่อยไม่ จำกัด เป็นต้น Ext3 ได้รับการพิจารณาว่ามีความพยายามและผ่านการทดสอบที่ปลอดภัยและมีแนวโน้มที่จะสูญเสียข้อมูลเล็กน้อย ฉันจะพยายามเน้นความเร็วที่นี่ในขณะที่พูดถึงสิ่งที่สำคัญที่สุดนอกเหนือจากประสิทธิภาพ
รออะไร? journalling? 1
ระบบแฟ้ม journallingในระยะสั้นเก็บบันทึกการเปลี่ยนแปลงที่ยังไม่ได้รับการเขียนเพื่อเป็นส่วนหลักของระบบแฟ้มที่ สิ่งนี้ทำเพื่อให้ในกรณีที่เกิดความผิดพลาดคุณสามารถตรวจสอบความสอดคล้องของระบบไฟล์ได้โดยง่ายโดยการเปรียบเทียบเจอร์นัลกับสิ่งที่ถูกเขียนไปยังพื้นที่ระบบไฟล์หลัก ซึ่งหมายความว่าความเร็วในการตรวจสอบระบบไฟล์นั้นเร็วกว่ามากด้วย ext3 และ ext4 นอกจากนี้เนื่องจาก ext4 อนุญาตให้ทำเครื่องหมายบล็อกที่ไม่ได้ถูกจัดสรรการตรวจสอบสามารถข้ามได้ทำให้fsck
เร็วยิ่งขึ้น
Ext4 ยังตรวจสอบบันทึกประจำวัน (อนุญาตให้ I / O น้อยลงเมื่อเขียน) ซึ่งให้ความเร็วโดยรวมเพิ่มขึ้นเล็กน้อยเมื่อเทียบกับ ext3
การตรวจสอบความสอดคล้องกันของระบบไฟล์อาจไม่จำเป็นบ่อยนักและการทำเจอร์นัลมีราคา - มีการเขียนดิสก์เพิ่มขึ้น ไม่เพียง แต่เป็นสิ่งที่ไม่ดีสำหรับอายุการใช้งานของ SSD ที่รวดเร็วเท่านั้น แต่ยังสามารถชะลอประสิทธิภาพลงได้ (การเขียนต้องใช้เวลา) ฉันทามติทั่วไปดูเหมือนว่าการจดบันทึกนั้นคุ้มค่ากับราคา
คุณสมบัติการเพิ่มประสิทธิภาพของ ext4
Ext4 รองรับการfallocate()
เรียกใช้ระบบเพื่อจัดสรรพื้นที่ล่วงหน้าสำหรับไฟล์ เคอร์เนลจะจัดสรรบล็อกบางส่วนและทำเครื่องหมายว่าถูกเตรียมใช้งานโดยไม่ต้องเขียนลงไปซึ่งเร็วกว่าการเขียนเลขศูนย์ไปยังพื้นที่เช่นเดียวกับที่ทำในระบบไฟล์รุ่นเก่า
นอกจากนี้ยังใช้การจัดสรรที่ล่าช้า (หรือallocate-on-flush ) ซึ่งเป็นชุดการจัดสรร (แทนที่จะดำเนินการเล็ก ๆ น้อย ๆ ) จึงมีแนวโน้มที่จะลดการใช้งาน CPU และหลีกเลี่ยงการแยกส่วน
Ext4 สามารถใช้งานร่วมกับ ext2 และ ext3 ได้ซึ่งหมายความว่าสามารถติดตั้งระบบไฟล์ ext2 และ 3 เป็น ext4 และเพลิดเพลินไปกับประสิทธิภาพการทำงานที่ได้รับประโยชน์เนื่องจากคุณสมบัติบางอย่างเช่นอัลกอริทึมการจัดสรรบล็อกใหม่สามารถนำมาใช้
ระบบไฟล์อื่น ๆ
Ext * ไม่เพียง แต่เป็นระบบไฟล์ที่เข้ากันได้กับ Linux อย่างเต็มรูปแบบเท่านั้นแม้ว่าจะเป็นระบบที่รู้จักกันดีที่สุด ระบบไฟล์อื่นใช้ทางเลือกในการทำเจอร์นัลและมีคุณสมบัติใหม่ที่อาจส่งผลกระทบต่อประสิทธิภาพการทำงาน ตัวอย่างเช่นBtrfsใช้copy-on-writeวิธีการของการรักษาความสมบูรณ์ของระบบไฟล์แทนวารสาร มันมีโครงสร้างข้อมูลที่แตกต่างเพื่อ ext * ระบบ เท่าที่ฉันรู้ Btrfs ไม่เป็นที่รู้จักที่จะให้ประสิทธิภาพทั่วไปเร็วกว่า ext4 แต่ถือได้ว่าเป็นสิ่งที่ดีโดยเฉพาะอย่างยิ่งสำหรับการจัดเก็บข้อมูลถาวรของไฟล์วิดีโอภาพถ่ายเนื่องจากพวกเขามีแนวโน้มที่จะได้รับความเสื่อมโทรมน้อยลง จะช่วยให้การตรวจสอบและทำความสะอาดระบบแฟ้มสอดคล้องในขณะใช้งานซึ่งอาจประหยัดเวลาขึ้นอยู่กับกรณีการใช้งานของคุณ ในอนาคต Btrfs หรือระบบไฟล์ที่เป็นนวัตกรรมอื่นอาจได้รับการพัฒนาต่อไปเพื่อให้มีประสิทธิภาพสูงกว่า ext4 อย่างมั่นใจในความเร็วทั่วไป
ข้อสรุป
ผู้ใช้ Ubuntu ส่วนใหญ่ที่กำลังมองหาประสิทธิภาพที่ดีจะต้องใช้ ext4 ในตอนนี้ ...
1 นี้และอื่น ๆ ที่ลินุกซ์แนวคิดระบบแฟ้มจะอธิบายได้ดีจริงๆในการทำความเข้าใจกับ Linux Kernel