Linux ext3 ディレクトリ操作最適化

先日のテスト結果を踏まえてext3にてこ入れ。
2.6カーネルが必要という制約はあるけど、今時2.4カーネルのRHEL3系入れてるのは
商用アプリの制約程度なので、それ以外の箇所は大して障害にはならないはず。

最初から有効にする場合は以下。

 # mkfs.ext3 -O dir_index /dev/xxx

後から有効にする場合は以下、umountした状態でやる必要がある。
通常e2fsckは一瞬で終わるが、ベンチマークしたところ既にファイルが
あるディレクトリについては性能向上が見込めなかった。変換処理が
スキップされていると推測されるため-fにて強制的にチェックを掛ける。
3A: Optimizing directories がインデックスの変換処理と推測。

有効になっているかはdumpe2fsやtune2fs -lにて確認できるが、既存の領域に
e2fsck無しでmountした場合は表示上dir_indexになっていても古いインデックスが
混在してる様なので注意。

 # tune2fs -O dir_index /dev/xxx
 # e2fsck -f -D /dev/xxx
  Pass 1: Checking inodes, blocks, and sizes
  Pass 2: Checking directory structure
  Pass 3: Checking directory connectivity
  Pass 3A: Optimizing directories
  Pass 4: Checking reference counts
  Pass 5: Checking group summary information
|<<