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

Reply via email to