โฮมเพจ » ทำอย่างไร » วิธีปรับแต่ง SSD ของคุณใน Ubuntu เพื่อประสิทธิภาพที่ดีขึ้น

    วิธีปรับแต่ง SSD ของคุณใน Ubuntu เพื่อประสิทธิภาพที่ดีขึ้น

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

    มาตรฐาน

    ในการวัดมาตรฐานดิสก์ของเราเราใช้ Phoronix Test Suite ฟรีและมีพื้นที่เก็บข้อมูลสำหรับ Ubuntu ดังนั้นคุณไม่ต้องรวบรวมจากศูนย์เพื่อรันการทดสอบอย่างรวดเร็ว เราทดสอบระบบของเราทันทีหลังจากการติดตั้ง Ubuntu Natty 64 บิตใหม่โดยใช้พารามิเตอร์เริ่มต้นสำหรับระบบไฟล์ ext4.

    รายละเอียดระบบของเรามีดังนี้:

    • AMD Phenom II quad-core ที่ 3.2 GHz
    • เมนบอร์ด MSI 760GM E51
    • RAM 3.5 GB
    • AMD Radeon 3000 รวมกับ RAM ขนาด 512MB
    • Ubuntu Natty

    และแน่นอนว่า SSD ที่เราใช้ในการทดสอบคือไดรฟ์ OCZ Onyx 64GB ($ 117 บน Amazon.com ในขณะเขียน).

    Tweaks ที่โดดเด่น

    มีการเปลี่ยนแปลงเล็กน้อยที่ผู้คนแนะนำเมื่ออัพเกรดเป็น SSD หลังจากกรองสิ่งเก่า ๆ บางอย่างออกไปเราได้ทำรายการสั้น ๆ ของ tweaks ที่ Linux distros ไม่ได้รวมเป็นค่าเริ่มต้นสำหรับ SSD สามในนั้นเกี่ยวข้องกับการแก้ไขไฟล์ fstab ของคุณดังนั้นสำรองไฟล์นั้นไว้ก่อนที่คุณจะดำเนินการต่อด้วยคำสั่งต่อไปนี้:

    sudo cp / etc / fstab /etc/fstab.bak

    หากมีข้อผิดพลาดคุณสามารถลบไฟล์ fstab ใหม่และแทนที่ด้วยสำเนาสำรองของคุณ ถ้าคุณไม่รู้ว่ามันคืออะไรหรือคุณต้องการที่จะทำความเข้าใจกับวิธีการทำงานให้ดูที่ HTG Explains: Linux fstab คืออะไรและมันทำงานอย่างไร?

    ละครั้งการเข้าถึง

    คุณสามารถช่วยเพิ่มอายุการใช้งาน SSD ของคุณได้ด้วยการลดปริมาณการเขียนลงดิสก์ หากคุณจำเป็นต้องรู้เมื่อเข้าถึงไฟล์หรือไดเรกทอรีแต่ละครั้งล่าสุดคุณสามารถเพิ่มสองตัวเลือกเหล่านี้ในไฟล์ / etc / fstab ของคุณ:

    noatime, nodiratime

    เพิ่มพวกเขาพร้อมกับตัวเลือกอื่น ๆ และให้แน่ใจว่าพวกเขาทั้งหมดคั่นด้วยเครื่องหมายจุลภาคและไม่มีช่องว่าง.

    เปิดใช้งาน TRIM

    คุณสามารถเปิดใช้งาน TRIM เพื่อช่วยจัดการประสิทธิภาพของดิสก์ในระยะยาว เพิ่มตัวเลือกต่อไปนี้ในไฟล์ fstab ของคุณ:

    ทิ้ง

    สิ่งนี้ทำงานได้ดีสำหรับระบบไฟล์ ext4 แม้ในฮาร์ดไดรฟ์มาตรฐาน คุณต้องมีเวอร์ชันเคอร์เนลอย่างน้อย 2.6.33 หรือใหม่กว่า; คุณได้รับการคุ้มครองหากคุณใช้ Maverick หรือ Natty หรือเปิดใช้งาน backport ใน Lucid แม้ว่าจะไม่ได้ปรับปรุงการเปรียบเทียบเบื้องต้นโดยเฉพาะ แต่ก็ควรทำให้ระบบทำงานได้ดีขึ้นในระยะยาวและทำให้เป็นรายการของเรา.

    tmpfs

    แคชของระบบถูกเก็บไว้ใน / tmp เราสามารถบอกให้ fstab ติดตั้งใน RAM เป็นระบบไฟล์ชั่วคราวเพื่อให้ระบบของคุณจะสัมผัสกับฮาร์ดไดรฟ์น้อยลง เพิ่มบรรทัดต่อไปนี้ที่ด้านล่างของไฟล์ / etc / fstab ของคุณในบรรทัดใหม่:

    tmpfs / tmp ค่าเริ่มต้นของ tmpfs, noatime, mode = 1777 0 0

    บันทึกไฟล์ fstab ของคุณเพื่อยอมรับการเปลี่ยนแปลงเหล่านี้.

    การสลับ IO Schedulers

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

    ขั้นแรกให้รายการตัวเลือกที่คุณมีพร้อมกับคำสั่งต่อไปนี้แทนที่ "X" ด้วยตัวอักษรของไดรฟ์รากของคุณ:

    cat / sys / block / sdX / queue / scheduler

    การติดตั้งของฉันอยู่บน sda คุณควรเห็นตัวเลือกที่แตกต่างกันเล็กน้อย.

    หากคุณมีกำหนดเวลาคุณควรใช้สิ่งนั้นเพราะมันจะช่วยให้คุณปรับแต่งเพิ่มเติมลงไปตามเส้น ถ้าไม่คุณควรใช้ noop โดยไม่มีปัญหา เราจำเป็นต้องบอกให้ OS ใช้ตัวเลือกเหล่านี้หลังจากการบู๊ตทุกครั้งดังนั้นเราจะต้องแก้ไขไฟล์ rc.local.

    เราจะใช้ nano เนื่องจากเราพอใจกับบรรทัดคำสั่ง แต่คุณสามารถใช้โปรแกรมแก้ไขข้อความอื่น ๆ ที่คุณชอบ (gedit, vim เป็นต้น).

    sudo nano /etc/rc.local

    เหนือบรรทัด“ exit 0” ให้เพิ่มสองบรรทัดนี้หากคุณใช้กำหนดเวลา:

    echo deadline> / sys / block / sdX / queue / scheduler

    echo 1> / sys / block / sdX / queue / iosched / fifo_batch

    หากคุณใช้ noop ให้เพิ่มบรรทัดนี้:

    echo noop> / sys / block / sdX / queue / scheduler

    อีกครั้งแทนที่ "X" ด้วยตัวอักษรไดรฟ์ที่เหมาะสมสำหรับการติดตั้งของคุณ ดูทุกอย่างเพื่อให้แน่ใจว่ามันดูดี.

    จากนั้นกด CTRL + O เพื่อบันทึกจากนั้นกด CTRL + X เพื่อออก.

    เริ่มต้นใหม่

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

    การเปลี่ยนแปลง fstab ของคุณจะดำเนินต่อไปตลอดชีวิตของการติดตั้งของคุณแม้จะต้องทนต่อการอัพเกรด แต่การเปลี่ยนแปลง rc.local ของคุณจะต้องทำการ re-instituted หลังจากการอัพเกรดทุกครั้ง (ระหว่างเวอร์ชั่น).

    ผลการเปรียบเทียบ

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

    การดำเนินงานไฟล์ขนาดใหญ่

    การทดสอบนี้บีบอัดไฟล์ 2GB พร้อมข้อมูลสุ่มและเขียนลงดิสก์ SSD ปรับแต่งที่นี่แสดงในการปรับปรุงประมาณ 40%.

    IOzone จำลองประสิทธิภาพของระบบไฟล์ในกรณีนี้โดยการเขียนไฟล์ 8GB อีกครั้งเพิ่มขึ้นเกือบ 50%.

    ที่นี่มีการอ่านไฟล์ 8GB ผลลัพธ์เกือบเหมือนกันโดยไม่ต้องปรับ ext4.

    AIO-Stress ทำการทดสอบอินพุตและเอาต์พุตแบบอะซิงโครนัสโดยใช้ไฟล์ทดสอบ 2GB และขนาดเร็กคอร์ด 64KB ที่นี่มีประสิทธิภาพเพิ่มขึ้นเกือบ 200% เมื่อเทียบกับวานิลลา ext4!

    การทำงานของไฟล์ขนาดเล็ก

    ฐานข้อมูล SQLite ถูกสร้างขึ้นและ PTS เพิ่ม 12,500 ระเบียนลงในนั้น SSD ปรับแต่งที่นี่ชะลอตัวจริงประสิทธิภาพประมาณ 10%.

    Apache Benchmark ทดสอบการอ่านไฟล์ขนาดเล็กแบบสุ่ม มีประสิทธิภาพเพิ่มขึ้นประมาณ 25% หลังจากปรับแต่ง SSD ของเรา.

    PostMark จำลองการทำธุรกรรมไฟล์ 25,000 รายการ 500 รายการพร้อมกันในเวลาใดก็ตามพร้อมขนาดไฟล์ระหว่าง 5 ถึง 512KB สิ่งนี้จำลองเว็บและเมลเซิร์ฟเวอร์ได้ค่อนข้างดีและเราเห็นประสิทธิภาพเพิ่มขึ้น 16% หลังจากการปรับแต่ง.

    FS-Mark ดูที่ไฟล์ 1,000 ไฟล์โดยมีขนาดรวม 1MB และวัดจำนวนไฟล์ที่สามารถเขียนและอ่านได้อย่างสมบูรณ์ในระยะเวลาที่กำหนดไว้ล่วงหน้า การปรับแต่งของเราเห็นการเพิ่มขึ้นอีกครั้งด้วยขนาดไฟล์ที่เล็กลง เพิ่มขึ้นประมาณ 45% พร้อมการปรับ ext4.

    การเข้าถึงระบบไฟล์

    การทดสอบเกณฑ์มาตรฐานของระบบ Dbench เรียกร้องจากลูกค้าเช่นเดียวกับที่ Samba ทำสิ่งต่างๆ ที่นี่ประสิทธิภาพของวานิลลา ext4 ลดลง 75% ซึ่งเป็นจุดเปลี่ยนครั้งสำคัญในการเปลี่ยนแปลงที่เราทำ.

    คุณจะเห็นว่าเมื่อจำนวนลูกค้าเพิ่มขึ้นความคลาดเคลื่อนของประสิทธิภาพจะเพิ่มขึ้น.

    ด้วยลูกค้า 48 รายช่องว่างค่อนข้างปิดระหว่างทั้งสอง แต่ยังคงมีการสูญเสียประสิทธิภาพที่ชัดเจนโดย tweaks ของเรา.

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

    การทดสอบนี้ขึ้นอยู่กับไลบรารีการเข้าถึง AIO ของเคอร์เนล เราได้รับการปรับปรุง 20% ที่นี่.

    ที่นี่เรามีการสุ่มอ่านแบบมัลติเธรด 64MB และเพิ่มประสิทธิภาพขึ้น 200% ที่นี่! ว้าว!

    ในขณะที่เขียนข้อมูล 64MB ด้วย 32 เธรดเรายังคงมีประสิทธิภาพเพิ่มขึ้น 75%.

    Compile Bench จำลองผลกระทบของอายุบนระบบไฟล์ที่แสดงโดยจัดการกับเคอร์เนลทรี (การสร้างการคอมไพล์การแพตช์และอื่น ๆ ) ที่นี่คุณสามารถเห็นประโยชน์ที่สำคัญผ่านการสร้างเริ่มต้นของเคอร์เนลจำลองประมาณ 40%.

    การวัดประสิทธิภาพนี้ใช้วัดระยะเวลาในการแตกเคอร์เนล Linux การเพิ่มประสิทธิภาพที่นี่ไม่มากเกินไป.

    สรุป

    การปรับเปลี่ยนที่เราทำกับการกำหนดค่า ext4 แบบนอกกรอบของ Ubuntu นั้นมีผลกระทบค่อนข้างมาก การเพิ่มประสิทธิภาพที่ใหญ่ที่สุดนั้นอยู่ในขอบเขตของการเขียนและอ่านแบบมัลติเธรดการอ่านไฟล์ขนาดเล็กและการอ่านและเขียนไฟล์ขนาดใหญ่ที่ต่อเนื่องกัน ในความเป็นจริงสถานที่จริงเพียงแห่งเดียวที่เราเห็นว่ามีประสิทธิภาพคือการเรียกระบบไฟล์อย่างง่ายสิ่งที่ผู้ใช้ Samba ควรระวัง โดยรวมแล้วดูเหมือนว่าประสิทธิภาพจะเพิ่มขึ้นอย่างแข็งแกร่งสำหรับสิ่งต่าง ๆ เช่นการโฮสต์เว็บเพจและการดู / การสตรีมวิดีโอขนาดใหญ่.

    โปรดทราบว่านี่เป็นเฉพาะกับ Ubuntu Natty 64- บิต หากระบบหรือ SSD ของคุณแตกต่างไมล์สะสมของคุณอาจแตกต่างกันไป โดยรวมแล้วดูเหมือนว่าการปรับตัวกำหนดตารางเวลาของ fstab และ IO ที่เราดำเนินการไปนั้นมีประสิทธิภาพที่ดีกว่าดังนั้นจึงน่าลองใช้อุปกรณ์ของคุณเอง.

    มีเกณฑ์มาตรฐานของคุณเองและต้องการแบ่งปันผลลัพธ์ของคุณหรือไม่ มีการปรับแต่งอีกที่เราไม่รู้เกี่ยวกับ? แสดงความคิดเห็นออกมา!