Linuxで大量のファイルを速く参照するディレクトリ構造とは?
CentOSのWebサーバーで、大量の商品画像ファイルを保存しています。
画像ファイルをなるべく速く表示するためには、どのようなディレクトリ構造に保存すれば良いのか?検討しています。
- 100万個程度の画像ファイルを保存する。
- 「0」~「9」の10個のディレクトリを作り、4階層の入れ子にして、10×10×10×10=10000個の保存場所を作る。(例) /img/1/2/3/4/A.jpg (パターンA)
- 「00」~「99」の100個のディレクトリを作り、2階層の入れ子にして、100×100=10000個の保存場所を作る。(例) /img/01/02/B.jpg (パターンB)
- 画像ファイルの書き込み(追加・更新)の頻度は少なく、読み出しの頻度が高い。
Linuxのファイルシステム(CentOSのext4やXFS等)では、上記の
パターンA:ディレクトリ数を少なくして、階層を深くする
パターンB:ディレクトリ数を多くして、階層を浅くする
では、どちらが読み出しが速くなるでしょうか?
将来的に画像ファイル数が1億個とかに増えたとき、パフォーマンス低下の問題に直面すると予想しております。
他の方がどのような工夫や改善に取り組んでいるのか?知りたく質問いたしました。
ヒントや参考情報を御教示いただけますと幸甚です。よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/12 08:05