にしし ふぁくとりー:西村文宏 個人サイト

No.989 - 今日のひとことログ

更新

■LOG No.989

にししふぁくとりーHOMEに掲載している「今日のひとこと」の過去ログ(掲載履歴)です。 RSS

No.989 〔616文字〕

キャッシュデータの保存先は分散せずに単一のディレクトリに記録しているのだが、1つのディレクトリに10万ファイルとか存在してもパフォーマンスに悪影響はないだろうか? ディレクトリ内のファイル一覧を取得して何かをしようとするなら当然遅くなるだろうが、そうでない限りは特に問題ないと思っているのだが。キャッシュの読み書きをする場合、「あるデータに対するキャッシュファイル名」は生成規則(命名規則)が明確なので、ファイル名を決め打ちで読み書きすれば良いから、「ディレクトリ内のファイル一覧を取得してから何かを探す」というような処理は不要だ。単に「指定のファイルが存在するかどうか」だけをチェックすれば済む。この場合、10万ファイルでも100万ファイルでも、複数のディレクトリに分散していようが単一のディレクトリに保存していようが、パフォーマンスに差はないと思っているのだが、この認識は正しいだろうか?(ファイルシステムにも依りそうだが。) とりあえず、現状の7,600ファイルくらいなら体感速度に影響はない。ただ、キャッシュファイルを無限に作るわけにもいかないので、どこかの時点で「古いファイルを消す」という処理が必要だが、このときには「ファイルの一覧を得て1つ1つの更新時刻を調べる」という作業が発生する。これはファイル数が莫大だとパフォーマンスが落ちそうな気はする。どれくらいの頻度で実行するか次第だろうけども。そこはまだ考えていない。
Powered by てがろぐ Ver 2.5.1

--- 当サイト内を検索 ---