Hello,
Does anyone have any opinions on the merits of bdb/hdb backends, in
conjunction with using shared memory (adding shm_key <n> to a hdb or bdb
backend) vs., in comparison with plain-old memory mapped files ?
I've performed a quick / simple benchmark via a slapd load, and performance
with shared memory appears at least, to be approximately 5 minutes faster,
on what was originally a 20 minute load (on the same hardware) using slapadd
-q for approx 90k entries.
Shared memory does not seem to write any transactional bdb logs to the disk,
so i was wondering how robust it is with respect to recovery in the face if
improper or unexpected server shutdowns, when compared to memory mapped
files, whih can be recovered with db_recover to get back to a consistant
state ?
I assume shared memory either does not have bdb transaction logs, or they
are stored in memory so would be lost in the event of a server crash.
I note the benchmark files from Symas use memory mapped files, so i'm
assuming there is a clear performance benefit, is this true ?
So if there is a clear query performance or other benefit, is there any
additional risk of corruption over memory mapped files (vs. the 25% load
speed improvement) ?
Cheers
Brett