Linux ディレクトリ操作ベンチマーク
同一ディレクトリにひたすらファイルを作成した場合のテスト結果。
各ファイルシステムでディレクトリエントリの操作の差異を見るのが目的。
Countから+-500での区間で、秒あたりの1024バイトファイル作成の平均速度を算出。
OSはLinux2.6.9カーネル(CentOS4)を使用、mkfsパラメータは基本的にデフォルト。
Count | ext3 | jfs | reiserfs | vxfs | xfs | zfs(FUSE) | ext3(dir_index) |
---|---|---|---|---|---|---|---|
1000 | 20357.83 | 17349.33 | 13852.14 | 5646.72 | 14165.88 | 2215.22 | 26181.51 |
5000 | 6560.39 | 13371.88 | 12187.68 | 3812.46 | 12643.69 | 2150.68 | 25686.54 |
10000 | 3460.40 | 15375.86 | 12055.02 | 2524.34 | 12004.82 | 2310.40 | 28825.25 |
25000 | 1359.61 | 9993.89 | 14794.83 | 1247.33 | 11089.18 | 2246.00 | 28219.77 |
50000 | 581.20 | 11556.69 | 11734.75 | 733.46 | 10042.58 | 2274.17 | 28576.22 |
75000 | 472.91 | 12377.14 | 13421.04 | 429.99 | 8608.43 | 2361.74 | 22985.89 |
100000 | 331.67 | 9821.74 | 12142.41 | 380.51 | 7443.29 | 2310.40 | 25426.65 |
Symantec(元Veritas製品)が売っている商用のvxfsが意外な事に遅いという結果に。
DBとかでよく使われているし、ブロック割り当ては最適化されていても
ディレクトリエントリの操作は、それほど最適化されていないのかも。
何かしらのオプション指定で最適化されたりするかもしれないけど。
reiserfsとかは確かに性能良いんだけど、近くの人がバグ踏んでデータ飛ばした
のを見ていると流石に使うのに躊躇がある。
zfsはFUSE経由なので参考数値、傾向としてはノード増加での落ち込みも無く悪くない感じ。
素のext3はリニアに遅くなっていくのが解って面白い、dir_index付きの場合は
hashとbtreeなので効果が目に見えて解る、というかこのケースでは最速。
ということで、某N社ストレージのベースにもなっているxfsとdir_index付きext3を
暫くロードテストに掛けてみる事に決定。
xfsのテストはするにしろ、当面はdir_index付きext3で十分かなという感じ。