XFSパラメータの最適化とテスト
3072 ワード
(一)テスト環境
(二)システム構成
(三)パラメータ調整及び結論分析
agcount
合計5組のテスト、デフォルト、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よりやや優れていることがわかります.ハードディスク(HDD)にバッテリバックアップがある場合は、writebackやorderedを大きく使用することもできます.
journal_dev
テストグループ1:^journal_dev
$ mkfs.xfs -f /dev/sdm1
$ mount /dev/sdm1 /mnt
$ filebench
filebench> load fileserver
filebench> set $dir=/mnt/test
filebench> run 60
テストグループ2: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
テスト1:barrier
$ mount /dev/sdm1 /mnt
テスト2: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
テスト1:reltime
$ mount /dev/sdm1 /mnt
$ filebench
filebench> load filemicro_seqread
filebench> set $dir=/mnt/test
filebench> run 60
テスト2: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