Le 07/05/2024 à 17:07, Benjamin Renard a écrit :
Hi,
I'm looking for the right method to monitor the usage of an MDB
database according to the limit of its size imposed via the parameter
olcDbMaxSize. Currently, I am using the following command:
# mdb_stat -e /var/lib/ldap/accesslog/
Environment Info
Map address: (nil)
Map size: 4294967296
Page size: 4096
Max pages: 1048576
Number of pages used: 1048572
Last transaction ID: 24153425
Max readers: 126
Number of readers used: 18
Status of Main DB
Tree depth: 1
Branch pages: 0
Leaf pages: 1
Overflow pages: 0
Entries: 6
Here, I determine the percentage of database usage with the
information "Number of pages used" and "Max pages".
This seemed to be a good method, but I noticed that after a
significant purge of objects in the directory, the number of used
pages does not seem to decrease.
Is there another and/or better method to monitor this? Failing that,
is there a solution to release "falsely" used pages, ideally without
too much downtime of the service (so not a dump/restore)? I read that
it was possible to use the "mdb_copy -c" command, but I am a little
concerned about the duration on a database with approximately
1,000,000 entries.
Thank you in advance.
Hello Benjamin,
if it helps, we have created a monitoring script for this:
https://ltb-project.org/documentation/check_lmdb_usage.html
--
Clément Oudot | Identity Solutions Manager
[email protected]
Worteks | https://www.worteks.com