Extensible Storage Engine を使用して多数の大きなレコードをキャッシュしています。これらのレコードのサイズは (それぞれ) 約 2MB になる傾向があります。
多くの場合、それらは数時間以内に削除されますが、この時間以上存続することはめったにありません
JetBeginTransaction/JetPrepareUpdate/JetSetColums/Update/JetCommitTransaction のタイトなループに陥っています。このループの反復ごとに 2MB のレコードが書き込まれます。書き込まれているデータは事前に割り当てられており、RAM にあります - 私のプロデューサーは CPU やディスク時間を消費するべきではありません
私は非常に遅いパフォーマンスを測定しており、毎秒 2 メガバイト程度です。
procmon を使用すると、非常に多くの小さな読み取りと書き込み (512 バイト、4096 バイト、および多くの書き込み ~30K) が見られます。私が確認した最大の書き込みは 393,216 バイトで、これが JET_paramMaxCoalesceWriteSize のデフォルトだと思います。
これはチューニングのように感じます。大規模な書き込みのパフォーマンスを向上させるにはどうすればよいですか? このハードウェアが提供できるはずのものから、ほぼ 2 桁もずれています。