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.

--
Benjamin Renard                  -                   Easter-eggs
44-46 rue de l'Ouest  -  75014 Paris   -   France -  Métro Gaité
Phone: +33 (0) 1 43 35 00 37   -  mailto:[email protected]

Reply via email to