10000個のファイルがあるディレクトリ内のファイルA、および10個のファイルがあるディレクトリ内のファイルB、ファイルAの読み取り/書き込みはファイルBよりも遅くなりますか?異なるジャーナリングファイルシステムの影響を受けますか?
3 に答える
いいえ。
ディレクトリの閲覧とファイルのオープンは遅くなります(実際にそれが目立つかどうかはファイルシステムによって異なります)。ファイルの入出力はまったく同じです。
編集:
明確にするために、ディレクトリ内の「ファイル」は実際にはファイルではなく、リンク(シンボリックリンクではなく「ハードリンク」)です。これは、メタデータを含む一種の名前ですが、それ以外は何にも関係ありません。あなたは「ファイル」を検討するでしょう。これは、ファイルの削除が架空の呼び出しunlink
ではなく、syscallを介して行われるという歴史的な理由でもあります。リンクを削除し、それが最後のリンクである場合(ただし、その場合のみ!)、ファイルを削除します。deletefile
unlink
1つのファイルが異なるディレクトリに100のリンクを持つことは完全に合法であり、ファイルを開いてから別の場所に移動したり、リンクを解除したりすることも完全に合法です(開いたままです!)。(あなたの知る限り)ファイルがもう存在していなくても、ファイル記述子の読み取り/書き込み機能にはまったく影響しません。
一般に、ファイルを開いてハンドルを取得すると、同じディレクトリに他のファイルがいくつあっても、そのファイルにアクセスするパフォーマンスは同じになります。OSはディレクトリ内のファイル名を検索する必要があるため、ファイルを開くのにかかる時間のわずかな違いを検出できる場合があります。
ジャーナリングは、ファイルシステムのクラッシュからの回復時間を短縮することを目的としています。IMHO、ファイルの読み取り/書き込み速度には影響しません。ジャーナリングext2