調べていくと、
◆大量のファイルを一つのディレクトリで管理するのはディスクアクセスの低下を招き良くない
◆ext3などでは一つのディレクトリ内に大量のファイル(1万個とか)を作ると、動作が遅くなる
◆ReiserFSはext3の欠点が解消されている
など、大量のファイルを配信する難しさがわかりました。。
そこで質問です。
◇ReiserFSだと一つのディレクトリ下に(/images/)に10万個×10kbのファイルを保持していても、安定したディスクアクセスを維持できるのでしょうか?出来ない場合は解決策を教えて下さい。
よろしくお願いします。
ReiserFSは知らないので解決策だけ。
ファイルのMD5なりSHA1ハッシュなりを取って、
最初の何バイトかで分けるとよろしいかと。
1バイトなら均等に 00 ~ FF の 256個に分かれますから、
全部で100万ファイルくらいになるまではこれでいけるでしょう。
00/00 ~00/FF ~ FF/00 ~ FF/FF
と2段にすれば数億ファイルくらいまでいけるかと。
# その前にディスクの容量を使い切るでしょうが、
# その場合は 00-7F をディスク1などとすればよいでしょう
非常に小さなファイルをランダムに配信する場合
ファイルシステム上の安定性より単一ディスク上に
保存される事になるためディスクの同時ランダム
アクセス時の性能の揺らぎが問題になると思われる。
確実に安定して常に一定した速度で大量の小さな
画像ファイルを配信する目的であれば合計データ量
が高々1Gなのでディスク上のファイルに頼らず
全てメモリー上に展開した状態で配信する事をお勧め
します。
安定性とは関係ないですが、
1.局所的にアクセスが集中するので、
障害が発生した場合全滅する可能性がある。
2.コマンド処理時の動作が異常に遅い
/異常動作の弊害が考えられる。
============================================
ベンチマーク
http://www.wikihouse.com/linuxfs/index.php?%C0%AD%C7%BD%C8%E6%B3...
http://www.namesys.com/benchmarks/v4marks.html
ファイルシステム比較
http://lc.linux.or.jp/lc2002/papers/sugaya0920h.pdf
http://www.osdl.jp/osdl/docs/ks4-200304/ks4_jfs.pdf
ext2/3 診断ツール
http://www.ipa.go.jp/software/open/forum/development/download/da...
ReiserFS
なるほど。メモリを多く積むべしと。教えていただいたpdfやurlによるとXfsやReiserFSの方がext3より大量のファイルを扱うに適しているようです。信頼性に不安はあるみたいですが。
勉強になります。
ReiserFSは知らないので解決策だけ。
ファイルのMD5なりSHA1ハッシュなりを取って、
最初の何バイトかで分けるとよろしいかと。
1バイトなら均等に 00 ~ FF の 256個に分かれますから、
全部で100万ファイルくらいになるまではこれでいけるでしょう。
00/00 ~00/FF ~ FF/00 ~ FF/FF
と2段にすれば数億ファイルくらいまでいけるかと。
# その前にディスクの容量を使い切るでしょうが、
# その場合は 00-7F をディスク1などとすればよいでしょう
ありがとうございます。ハッシュで分けるのって便利ですね。256×256=65536個のディレクトリってことは、1ディレクトリあたり1万個入れて合計6億個って事ですか?つまり1ディレクトリに1万ファイルくらいなら余裕だと言うことですかね。
勉強になりました。
ありがとうございます。ハッシュで分けるのって便利ですね。256×256=65536個のディレクトリってことは、1ディレクトリあたり1万個入れて合計6億個って事ですか?つまり1ディレクトリに1万ファイルくらいなら余裕だと言うことですかね。
勉強になりました。