Ext4 のジャーナルモードと性能
概要
Ext4のジャーナルモードごとの性能を測りました.
data=journalにすると書込性能が非常に低くなりました.
orderedとwritebackは 大差なかったです.
結果
計測方法は後述
data=journal にすると,書込性能が低くなる.
Ext4とジャーナリングモード
Ext3やExt4はジャーナリング機能があります.
公式文書
ファイルのメタデータは,必ずジャーナルされます.
ファイルのデータに関しては,journal, ordered, writeback の3個のモードがあります.
初期設定はordered
journalモード: データもジャーナルされます.
orderedモード: データはジャーナルされません.ただし,メタデータがジャーナルにコミットされる前に,データはメインファイルシステムに書かれます.順序が保証されます.
writebackモード: データはジャーナルされません.順序も保証されません.
書き込み速度は、遅い順にjournal, order, writebackとなるはずです.
モードはmount時に指定します.例えば
計測方法
fioを用いてシーケンシャルアクセスをしました.
fioファイル
[job]
rw=read
size=16g
filename=/mnt/abc
direct=0
bs=1m
[job]
rw=write
size=16g
filename=/mnt/abc
direct=0
bs=1m
ベンチマーク実行シェルスクリプト
(fioを各設定で2回実行)
for opt in journal ordered writeback
do
echo ${opt}
mount -o data=${opt} /dev/sdb /mnt/
mount | grep sdb > result.${opt}.txt
for i in `seq 0 1`
do
echo ${i}
fio r.fio > result.${opt}.r.${i}.txt
fio w.fio > result.${opt}.w.${i}.txt
done
umount /mnt/
done
計測環境
おまけ
結果整理のシェルスクリプト
grep READ result.* | sed "s/:/ /" > _all.txt
grep WRITE result.* | sed "s/:/ /" >> _all.txt
sort < _all.txt | sed -r 's/bw=/bw= /' | sed -r 's/MiB/ MiB/' > all.txt
rm _all.txt
今後の展開
ランダムライトの性能も測りたいです
この記事が気に入ったらサポートをしてみませんか?