歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 學習Linux

XFS參數優化及測試

XFS參數優化及測試


XFS參數優化及測試


(一)測試環境

  • 硬件環境

    Inspur NF5270M3, CPU E5-2650 [email protected](2Sockect * 8Core * 2HT)
    8 * 16GB of [email protected] RAM (NUMA)
    ASPEED Graphics Family (rev 21)(used in text-only mode)
    HGST HUS724030ALA640 7200 RPM 2.7TB SATA HDD

  • 軟件環境

    操作系統:CentOS Linux release 7.1.1503
    kernel版本:3.10.0-229.el7.x86_64

(二)系統配置

  • 系統分區

    測試均在測試分區/sdm1上進行,默認不采用外部日志。
    外部日志僅在測試外部日志分區時作為對比測試項。

  • 其他配置

    關閉CPU frequency/voltage scaling
    系統工作在文本模式,沒有啟動X圖形界面

(三) 參數調優及結論分析

agcount

共五組測試,默認地,agcount=4

$ mkfs.xfs -f -d agcount=2 /dev/sdm1
$ mkfs.xfs -f -d /dev/sdl1
$ mkfs.xfs -f -d agcount=8 /dev/sdm1
$ mkfs.xfs -f -d agcount=16 /dev/sdm1
$ mkfs.xfs -f -d agcount=32 /dev/sdm1

$ mount /dev/sdm1 /mnt
[root@localhost ~]# filebench
filebench> load fileserver
filebench> set $dir=/mnt/test
filebench> run 60

采用fs_mark這個測試工具,測試寫文件系統的速度。

fs_mark  -n  10000  -s  100  -L  1  -S  0  -D  100  -N  100  -d  /mnt/test  -t  32

如圖,可以看到寫journal模式最差,writeback略好於ordered。如果你的硬盤有電池備份,你大可使用writeback,或者ordered也可以。

journal_dev

測試組一:^journal_dev

$ mkfs.xfs -f /dev/sdm1
$ mount /dev/sdm1 /mnt
$ filebench
filebench> load fileserver
filebench> set $dir=/mnt/test
filebench> run 60

測試組二:journal_dev

$ mkfs.xfs -l logdev=/dev/sdk1,size=65536b -f /dev/sdm1
$ mount -o logdev=/dev/sdk1 /dev/sdm1 /mnt
$ xfs_info /dev/sdm1 
log      =external               bsize=4096   blocks=65536, version=2
     =                       sectsz=512   sunit=0 blks, lazy-count=1
$ filebench
filebench> load fileserver
filebench> set $dir=/mnt/test
filebench> run 60

從測試結果來看,外部設備是普通HDD的話,對性能提升不大,推薦使用SSD/Flash設備作為外部設備。

barrier

/dev/sdm1 on /mnt type xfs
agcount = 4

測試一:barrier

$ mount /dev/sdm1 /mnt

測試二:nobarrier

$ mount -o nobarrier /dev/sdm1 /mnt


fs_mark,32個線程(-t 32),fsync(打開)

fs_mark  -n  10000  -s  100 -L  1  -S 1 -D  100  -N  100  -d  /sdl1 -t  32

有電池備份可以使用nobarrier選項以提高性能。

noatime

測試一:reltime

$ mount /dev/sdm1 /mnt
$ filebench
filebench> load filemicro_seqread
filebench> set $dir=/mnt/test
filebench> run 60

測試二:noatime

$ mount -o noatime /dev/sdm1 /mnt
$ filebench
filebench> load filemicro_seqread
filebench> set $dir=/mnt/test
filebench> run 60

對文件系統讀操作進行優化,不記錄讀文件的訪問時間,可以看到在小文件順序讀測試中,效果明顯,noatime能減輕讀操作對磁盤的頻繁寫入。

其他選項

block-size
logbufs
logbsize
lazy-count
sunit
swidth
Swalloc
O_DIRECT

本文永久更新鏈接地址:

http://xxxxxx/Linuxjc/1135370.html TechArticle

Copyright © Linux教程網 All Rights Reserved