2

我正在使用可扩展存储引擎来缓存许多大记录 - 这些记录的大小往往约为 2MB(每个)

通常它们会在几个小时内被删除,它们的存活时间很少超过这个时间

我处于 JetBeginTransaction/JetPrepareUpdate/JetSetColums/Update/JetCommitTransaction 的紧密循环中 - 此循环的每次迭代都会写入 2MB 记录。正在写入的数据已预先分配并在 RAM 中 - 我的生产者不应该占用任何 CPU 或磁盘时间

我正在测量非常慢的性能,大约每秒 2 兆字节。

使用 procmon,我看到很多微小的读写(512 字节、4096 字节和大量写入 ~ 30K)。我看到的最大写入是 393,216 字节,我相信这是 JET_paramMaxCoalesceWriteSize 的默认值。

这感觉像是一个调整的事情,我能做些什么来提高大型写入的性能?我与这个硬件应该能够提供的功能相差近两个数量级。

4

0 回答 0