From our experience such issue with write performance was usually
caused by a fragmented freelist. In this case `mdb_page_alloc` will
search for large consecutive piece of free space (indicated by the `num`
argument) on a large freelist which does however only contain small
consecutive blocks of free space. You can check the status of the
freelist using `mdb_stat -ff`.
regards,
Steffen Michels
On 24/04/2023 14:37, Wang Zhiyong wrote:
I found the time blocking is in the `mdb_cursor_put` operation on line 3570 of
the filehttps://github.com/LMDB/lmdb/blob/mdb.master/libraries/liblmdb/mdb.c
When the size of data is several hundred KB,`mdb_cursor_put` may block for
several tens of seconds.
Just put one key,It takes so long.
begin:vcard
fn:Steffen Michels
n:Michels;Steffen
org:TOP Software Technology BV
email;internet:stef...@top-software.nl
title:CTO & Co-Founder
tel;cell:+31 634207502
url:https://top-software.nl
version:2.1
end:vcard