Ext4 งานเข้า! อืดจนโดน Ext3 แซงบน Linux kernel 2.6.32


Linux Kernel ตัวใหม่ ทุกคนก็ต้องหวังว่าอะไรๆ จะเร็วขึ้น แต่กับประสิทธิภาพของ Ext4 Filesystem บน Linux Kernel 2.6.32 กลับเป็นสิ่งที่น่าผิดหวังอย่างแรง ผลการทดสอบจาก Phoronix ได้สรุปรวมไว้ข้างล่างดังนี้

  • Dbench (client count analysis) – Ext3 ชนะ Ext4 ขาด เร็วกว่าเกือบเท่าตัวทุกการทดสอบ
  • IOzone (disk test analysis) – Write performance Ext4 เร็วกว่า Ext3 เล็กน้อย; Read performance Ext3 เร็วกว่า Ext4 เล็กน้อย
  • SQLite test – Ext3 ใช้เวลา 24.62 วินาที, Ext4 ใช้เวลา 114.80 วินาที (ใช้เวลาน้อยกว่าคือดี)
  • PostMark (disk transaction performance) – Ext4 เร็วกว่า Ext3 ประมาณ 40%
  • Threaded I/O Tester (write) – Ext3 เร็วกว่า Ext4 ประมาณ 15.5%
  • Threaded I/O Tester (random write) – Ext3 เร็วกว่า Ext4 ประมาณ 133.8%
  • Threaded I/O Tester (read) – Ext3 เร็วกว่า Ext4 ประมาณ 54.8%
  • Threaded I/O Tester (random read) – Ext4 เร็วกว่า Ext3 เล็กน้อย
  • GZip Compression ไฟล์ 2 GB – Ext3 ใช้เวลา 14.61 วินาที, Ext4 ใช้เวลา 18.03 วินาที (ใช้เวลาน้อยกว่าคือดี)
  • FS-Mark (1,000 files, 1MB file-size) – Ext3 เร็วกว่า Ext4 ประมาณ 226.2%
  • FS-Mark (1,000 files, 1MB file-size, no sync) – Ext3 เร็วกว่า Ext4 ประมาณ 262.6%
  • FS-Mark (5,000 files, 1MB file-size) – Ext3 เร็วกว่า Ext4 ประมาณ 308.2%

แนะนำให้ไปดูผลการทดสอบต้นฉบับที่เป็นกราฟจาก http://www.phoronix.com/scan.php?page=article&item=linux_2632_fs&num=1 จะเห็นภาพเลยว่า Ext4 อืดลงขนาดไหน

จากสรุปผลการทดสอบ พบว่ามีเพียง 2 จาก 12 รายการเท่านั้นที่ Ext4 ทำได้ดีกว่า Ext3 และผลจาก IOzone (disk test analysis) นั้นทั้งสองให้ผลสูสีกัน ส่วนอีก 9 รายการที่เหลือ Ext3 ทำได้ดีกว่า Ext4 แถมส่วนใหญ่จะเป็นการชนะขาดมากกว่าเท่าตัวซะด้วย โดยเฉพาะการทดสอบ SQLite และ FS-Mark

สาเหตุที่ Ext4 ช้าลง (Performance regression) แบบสุดจะน่าเกลียดนี้  คาดว่าน่าจะมาจากการเปลี่ยนแปลงเพื่อแก้ปัญหาเกี่ยวกับ Data integrity ขณะเขียนข้อมูล ซึ่งทาง Phoronix ได้ให้คำอธิบาย(ปลอบใจ)ว่า ถ้าตั้งค่า mount option โดยยอมแลกกับความเสี่ยงเรื่อง Data integrity ปัญหาเรื่อง Performance อาจจะไม่รุนแรงมากขนาดนี้ พูดง่ายๆ คือ ให้เลือกกันเอาเองเลยว่า “อยากเร็วแบบเสียวๆ” หรือ “อยากอืดแบบชัวร์ๆ”

เรื่องนี้น่าจะกระทบคนที่รอคอย Ubuntu 10.04 LTS Lucid Lynx พอสมควร เพราะตามแผนกำหนดการ Lucid จะมาพร้อมกับ Kernel 2.6.32 แน่ๆ หรือต่อให้ขยับไปใช้ Kernel 2.6.33 ก็ไม่แน่ว่าปัญหาเรื่อง Performance regression นี้จะได้รับการแก้ไข เพราะ Phoronix มีแย้มๆ ไว้ในบรรทัดสุดท้ายว่า Ext4 บน Kernel 2.6.33 อาการหนักกว่านี้ซะอีก… โอ้ว!


ป.ล. อันนี้ไม่เกี่ยวกับผลการทดสอบ แต่เห็นสเปกเครื่องที่ Phoronix ใช้แล้ว ผมรู้สึกอิจฉาจริงๆ (เพิ่งสังเกตเห็นวันนี้ครั้งแรก)

  • Intel Core i7 920 @ 3.60GHz
  • ASRock X58 SuperComputer motherboard
  • 3GB DDR3 system memory
  • GeForce 9800GTX graphics card
  • OCZ Agility EX solid-state drive 60GB

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: