硬件環境
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=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
$ 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設備作為外部設備。
/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選項以提高性能。
測試一: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