คุณสมบัติใหม่อย่างหนึ่งของ 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
สุดยอดเลยครับ
ขยันมากครับ
ถ้ามี hdd 10 tb
ควรใช้ partition แบบไหนครับ
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 แล้ว แต่ยังค่อนข้างใหม่ ไม่แน่ใจว่าจะมีปัญหาอื่นๆ อีกหรือไม่
สงสัยว่า คำสั่งพวก rm, cp จะจับเวลาอย่างไรครับ
ใช้คำสั่ง time นำหน้าคำสั่งที่ต้องการจับเวลาที่ใช้รัน ครับ