2

Extensible Storage Engine を使用して多数の大きなレコードをキャッシュしています。これらのレコードのサイズは (それぞれ) 約 2MB になる傾向があります。

多くの場合、それらは数時間以内に削除されますが、この時間以上存続することはめったにありません

JetBeginTransaction/JetPrepareUpdate/JetSetColums/Update/JetCommitTransaction のタイトなループに陥っています。このループの反復ごとに 2MB のレコードが書き込まれます。書き込まれているデータは事前​​に割り当てられており、RAM にあります - 私のプロデューサーは CPU やディスク時間を消費するべきではありません

私は非常に遅いパフォーマンスを測定しており、毎秒 2 メガバイト程度です。

procmon を使用すると、非常に多くの小さな読み取りと書き込み (512 バイト、4096 バイト、および多くの書き込み ~30K) が見られます。私が確認した最大の書き込みは 393,216 バイトで、これが JET_paramMaxCoalesceWriteSize のデフォルトだと思います。

これはチューニングのように感じます。大規模な書き込みのパフォーマンスを向上させるにはどうすればよいですか? このハードウェアが提供できるはずのものから、ほぼ 2 桁もずれています。

4

0 に答える 0