0

最大のパフォーマンスで多くの小さなファイルを作成する必要があるアプリケーションがあり (そのうちの 1% 未満が後で読み取られる可能性があります)、コードの単純さを維持するために非同期ファイル API の使用を避けたいと考えています。書き込まれるファイルの合計サイズを事前に決定することはできないため、最大のパフォーマンスを達成するには、次のものが必要になると考えました。

1. Windows は、信頼性やその他の問題に関係なく、すべての未使用 RAM をキャッシュ (特にファイル書き込み) に利用します。未使用の RAM が 1GB を超えていて、1KB のファイルを 100 万個作成した場合、Windows はまだディスクに何も書き込んでいない場合でも、すぐに "DONE" と報告するはずです。

また

2.実際のオンディスク ファイル システムに支えられたメモリベースのファイル システム。ファイルを書き込むときは常に、最初にすべてをメモリにのみ書き込み、次にバックグラウンドでディスク上のファイル システムを更新する必要があります。十分な空きメモリがない限り、同期呼び出しに遅延はありません。Windows での tmpfs または RAM ディスクの実装とは異なることに注意してください。これは、一定量のメモリを必要とし、十分な RAM がない場合にページ ファイルを利用するためです。

オプション 1 については、VHD ファイルをテストしました。構成によっては合計パフォーマンスが 50% も向上しますが、それでもディスクへのフラッシュが行われ、書き込みが不必要に待機します。そして、ジャーナリングを無効にしたり、書き込みキャッシュの動作をさらに微調整したりする方法はないようです.....

選択肢 2 については、似たようなものをまだ見つけていません.....そのようなものはありますか?

4

0 に答える 0