开发者

How to quickly store large records in Extensible Storage Engine

I'm using Extensible Storage Engine to cache a number of large records - these records tend to be about 2MB in size (each)

Often they will be deleted within a few hours, it's rare that they live for more than this amount of time

I'm in a tight loop of JetBeginTransaction/JetPrepareUpdate/JetSetColums/Update/JetCommitTransaction - each iteration of this loop writes a 2MB record. the data being written has been preallocated and is in RAM - my producer shouldnt be taking any CPU or disk time

I'm measuring very slow performance, on the order of 2megabytes a second.

using procmon I see lots and lots of tiny reads and writes (512 bytes, 4096bytes, and lots of writes ~30K). The largest writes I see are 393,216bytes which I believe开发者_运维问答 is the default for JET_paramMaxCoalesceWriteSize.

This feels like a tuning thing, what can I do to increase performance of large writes? I'm off almost two orders of magnitude from what this hardware should be capable of delivering.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜