However, on BDB 4.7 it seems the default behavior on Linux is also to
do synchronous flushes of the cache. As such, one approach to getting
consistent performance is to configure the backend to use shared
memory for the BDB cache instead of mmap'd files. That way incidental
page updates don't sync to anything, and the BDB library has full
control over when pages get flushed back to disk.
We can confirm that setting shm_key on 4.7 dramatically affects the load
time. In our initial tests of 4.7 we just pulled our old 4.2 BDB
parameters forward. We never saw the slapadd of a 4.6 gbyte database
complete. We killed it after 4 hours. After changing the shm_key
setting the load time dropped to the more normal 30 minutes.