私は毎日何千もの小さなファイルを生成するアプリケーションを開発しています。次に、そのファイルをNASにアップロードし、Windowsコンピュータのネットワーク共有から検索する必要があります。
このプロセスは技術的に可能ですが、ファイルのアップロードとナビゲーションは非常に遅いです。 Windowsコンピュータでは、ナビゲーションが遅すぎてスムーズに進行しません。
ファイルサイズは非常に小さいです。そのうち数百万個が100MB未満です。
私はこの問題を解決するためにいくつかの可能なオプションを考えました。
- ファイルを圧縮します
gz
(試しましたがあまり役に立ちませんでした)。 .tar
ファイルを年齢に応じて複数のアーカイブに収集します(約10個のアーカイブに分割されます)。- ZFSを使用して別のNASにアップロードします(現在のNASにはありません)。
このアプリケーションを実行しているサーバーはXFS上で実行され、他のものを使用するように再フォーマットすることはできません。
これが役に立つかどうかはわかりませんが、あなたの経験に基づいてこの状況を処理するための最良の方法は何ですか?
多くの小さなファイルを処理する際のベストプラクティスは何ですか?
どんな意見でも大変感謝いたします。
ありがとうございます!
アップデート:提案してくれた皆さんに感謝します。ファイルをtarアーカイブにグループ化し、共有をNFSに置き換えました。これで、すべてがはるかにスムーズに実行されます。ありがとうございます!
ベストアンサー1
すべてのファイルを1つのディレクトリに保存しないでください。どのファイルシステムを使用しても、ナビゲーション速度は非常に遅くなります。サブディレクトリを作成することも、2〜3つのレベルのサブディレクトリを作成することもできます。これは、特定の状況にどのような意味があるかによって異なります。