เปรียบเทียบ ext3, ext4 และ xfs บน Fedora 10

คุณสมบัติใหม่อย่างหนึ่งของ Fedora 10 ที่เพิ่มจากเวอร์ชั่นก่อน คือการสนับสนุน filesystem เพิ่มเติม ประกอบด้วย ext4 และ xfs

หลังจากที่ได้ทดลองติดตั้ง Fedora 10 เลยเกิดความลังเลว่าจะเปลี่ยน filesystem เป็นแบบใหม่หรือไม่ เลยลองรันคำสั่งง่ายๆ เพื่อทดสอบประสิทธิภาพการสร้าง การลบไฟล์ เป็นต้น

หมายเหตุ

  • ตอนติดตั้ง Fedora 10 ถ้าต้องการเลือก parition ที่เป็นแบบ ext4 ต้องระบุออปชั่นเพิ่มเติมตอนที่อยู่ในเมนูบู๊ตจากแผ่นดีวีดีติดตั้ง คือกดปุ่ม [Tab] แล้วพิมพ์เว้นวรรคแล้วต่อท้ายคำว่า ext4
  • partition ที่ใช้สำหรับ boot หรือ (/boot) ไม่สามารถทำเป็น ext4 หรือ xfs ได้ ต้องใช้เป็น ext3

 

ระบบที่ใช้ทดสอบ

ตอนติดตั้ง Fedora 10 สร้าง partition ขนาด 2 GB เพิ่มเติมจำนวน 3 partition เลือก filesystem แตกต่างกัน คือ ext3, ext4, xfs แล้วตั้งชื่อ mount point ตามชนิด filesystem ดังนี้

[root@fc10-fs ~]# df -k
...
/dev/sda9              2023920     35836   1885272   2% /mnt/ext3
/dev/sda10             2023920     35792   1885316   2% /mnt/ext4
/dev/sda11             2046048      4256   2041792   1% /mnt/xfs
[root@fc10-fs ~]# mount
...
/dev/sda9 on /mnt/ext3 type ext3 (rw)
/dev/sda10 on /mnt/ext4 type ext4 (rw)
/dev/sda11 on /mnt/xfs type xfs (rw)

การสร้างไฟล์ 1 GB

ใช้คำสั่ง dd เพื่อสร้างไฟล์ขนาด 1 GB ตามตัวอย่างด้านล่าง

[root@fc10-fs ~]# dd if=/dev/zero of=/mnt/ext3/file-1G.bin bs=1000000 count=1000

เวลาที่ใช้ในการสร้างไฟล์ขนาด 1 GB

ext3: 18.0096 s   (55.5 MB/s)
ext4: 14.2582 s   (70.1 MB/s)
xfs:  13.0057 s   (76.9 MB/s)

ขนาด partition ที่ใช้ไปจากการสร้างไฟล์ 1 GB

[root@fc10-fs ~]# df -k
...
/dev/sda9              2023920   1013360    907748  53% /mnt/ext3
/dev/sda10             2023920   1012360    908748  53% /mnt/ext4
/dev/sda11             2046048    980820   1065228  48% /mnt/xfs

การลบไฟล์ 1 GB

ใช้คำสั่ง rm เพื่อลบไฟล์ขนาด 1 GB ตามตัวอย่างด้านล่าง

[root@fc10-fs ~]# rm -f /mnt/ext3/file-1G.bin

เวลาที่ใช้ในการลบไฟล์ขนาด 1 GB

ext3: 0.095 s
ext4: 0.073 s
xfs:  0.592 s

การสร้างไฟล์ขนาด 1 MB จำนวน 1000 ไฟล์

เขียน shell script เพื่อเรียกคำสั่ง dd เพื่อสร้างไฟล์ขนาด 1 MB จำนวน 1000 ไฟล์ ตามตัวอย่างด้านล่าง

i=1
while [ $i -le 1000 ]; do
 dd if=/dev/zero of=/mnt/ext3/file-1M-$i.bin bs=1000000 count=1 > /dev/null 2>&1
  i=`expr $i + 1`
done

เวลาที่ใช้ในการสร้างไฟล์ขนาด 1 MB จำนวน 1000 ไฟล์

ext3: 50.916 s
ext4: 46.584 s
xfs:  44.516 s

ขนาด partition ที่ใช้ไปจากการสร้างไฟล์ 1 MB จำนวน 1000 ไฟล์

[root@fc10-fs ~]# df -k
...
/dev/sda9              2023920   1019872    901236  54% /mnt/ext3
/dev/sda10             2023920   1015896    905212  53% /mnt/ext4
/dev/sda11             2046048    985268   1060780  49% /mnt/xfs

การลบไฟล์ขนาด 100 MB จำนวน 100 ไฟล์

ใช้คำสั่ง rm เพื่อลบไฟล์ ตามตัวอย่างด้านล่าง

[root@fc10-fs ~]# rm -f /mnt/ext3/file*

เวลาที่ใช้ในการลบไฟล์ขนาด 1 MB จำนวน 1000 ไฟล์

ext3: 0.432 s
ext4: 0.178 s
xfs:  0.845 s

copy ไฟล์ขนาด 500 MB ใน partition เดียวกัน

ใช้คำสั่ง dd เพื่อสร้างไฟล์ขนาด 500 MB แล้วใช้คำสั่ง cp เพื่อ copy เป็นอีกไฟล์หนึ่ง ใน partition เดียวกัน

[root@fc10-fs ~]# dd if=/dev/zero of=/mnt/ext3/file-500M.bin bs=1000000 count=500
[root@fc10-fs ~]# cp /mnt/ext3/file-500M.bin /mnt/ext3/file-500M-copy.bin

เวลาที่ใช้ในการ copy ไฟล์ขนาด 500 MB

ext3: 1m 44.266 s
ext4: 1m 40.074 s
xfs:  1m 12.585 s

6 thoughts on “เปรียบเทียบ ext3, ext4 และ xfs บน Fedora 10”

  1. ถ้ามี hdd 10 tb
    ควรใช้ partition แบบไหนครับ

  2. hdd ขนาด 10tb แนะนำ partition เป็นแบบ xfs ครับ เพราะขนาดไฟล์สร้างได้ใหญ่กว่า
    – ext3 – Max file size 16 GiB – 2 TiB (http://en.wikipedia.org/wiki/Ext3)
    – xfs – Max file size 8 exabytes (http://en.wikipedia.org/wiki/XFS)

    ส่วน ext4 ยังไม่แนะนำครับ ด้วยความเห็นส่วนตัว คือเป็น filesystem ที่แม้เป็น production แล้ว แต่ยังค่อนข้างใหม่ ไม่แน่ใจว่าจะมีปัญหาอื่นๆ อีกหรือไม่

  3. สงสัยว่า คำสั่งพวก rm, cp จะจับเวลาอย่างไรครับ

  4. ใช้คำสั่ง time นำหน้าคำสั่งที่ต้องการจับเวลาที่ใช้รัน ครับ

Leave a Reply

Your email address will not be published.