Yeah, that worked. DB_CONFIG now contains:
# one 1 GB cache set_cachesize 0 1073741824 1 # Data Directory set_data_dir /var/lib/ldap/domain # Transaction Log settings set_lg_regionmax 1048576 set_lg_max 10485760 set_lg_bsize 2097152 set_lg_dir /var/lib/ldap/domain # autoremove log files set_flags DB_LOG_AUTOREMOVE Stats now show: 80 Last allocated locker ID 0x7fffffff Current maximum unused locker ID 9 Number of lock modes 1000 Maximum number of locks possible 1000 Maximum number of lockers possible 1000 Maximum number of lock objects possible 80 Number of lock object partitions 16 Number of current locks 724 Maximum number of locks at any one time 12 Maximum number of locks in any one bucket 9 Maximum number of locks stolen by for an empty partition 2 Maximum number of locks stolen for any one partition 80 Number of current lockers 82 Maximum number of lockers at any one time 16 Number of current lock objects 391 Maximum number of lock objects at any one time 6 Maximum number of lock objects in any one bucket 0 Maximum number of objects stolen by for an empty partition 0 Maximum number of objects stolen for any one partition 1630324 Total number of locks requested 1630299 Total number of locks released 0 Total number of locks upgraded 18 Total number of locks downgraded 1 Lock requests not available due to conflicts, for which we waited 0 Lock requests not available due to conflicts, for which we did not wait 0 Number of deadlocks 0 Lock timeout value 0 Number of locks that have timed out 0 Transaction timeout value 0 Number of transactions that have timed out 744KB The size of the lock region 1 The number of partition locks that required waiting (0%) 1 The maximum number of times any partition lock was waited for (0%) 0 The number of object queue operations that required waiting (0%) 0 The number of locker allocations that required waiting (0%) 0 The number of region locks that required waiting (0%) 6 Maximum hash bucket length Our entire database dumped to ldif happens to be only 1MB in size while we only do writes maybe once or twice a week. So the 1GB cache seems rather wasteful. From reading http://www.openldap.org/faq/data/cache/1072.html the cache should be in memory not on disk? I see the 1GB file exists on disk while memory usage for slapd has not actually increased. Does it preallocate the entire cache to disk then only flush from memory to disk when "set_lg_bsize" value has been reached? Moreover, after removing "checkpoint" from slapd.conf, and using the above DB_CONFIG, I now see several more 10MB *.log files. -rw------- 1 ldap ldap 10M Aug 30 11:45 log.0000000455 -rw------- 1 ldap ldap 10M Aug 30 11:45 log.0000000456 -rw------- 1 ldap ldap 10M Aug 30 11:45 log.0000000457 -rw------- 1 ldap ldap 10M Aug 30 11:45 log.0000000458 -rw------- 1 ldap ldap 24K Aug 30 11:46 __db.001 -rw------- 1 ldap ldap 32K Aug 30 11:55 __db.006 -rw------- 1 ldap ldap 3.0M Aug 30 11:55 __db.004 -rw------- 1 ldap ldap 1.0G Aug 30 11:55 __db.003 -rw------- 1 ldap ldap 744K Aug 30 11:56 __db.005 -rw------- 1 ldap ldap 35M Aug 30 11:56 __db.002 Why do so many transaction log files exist if my entire database happens to be only 1MB? Thanks, Douglas Duckworth, MSc, LFCS HPC System Administrator Scientific Computing Unit Physiology and Biophysics Weill Cornell Medicine E: [email protected] O: 212-746-6305 F: 212-746-8690 On Wed, Aug 30, 2017 at 10:11 AM, Douglas Duckworth <[email protected] > wrote: > Once I put in place DB_CONFIG I should stop slapd then run this to > reinitialize the database with the new runtime configuration: > > sudo -u ldap /usr/bin/db_recover -h /var/lib/ldap/domain -v > > Thanks, > > Douglas Duckworth, MSc, LFCS > HPC System Administrator > Scientific Computing Unit > Physiology and Biophysics > Weill Cornell Medicine > E: [email protected] > O: 212-746-6305 <(212)%20746-6305> > F: 212-746-8690 <(212)%20746-8690> > > On Wed, Aug 30, 2017 at 10:06 AM, Douglas Duckworth < > [email protected]> wrote: > >> This seems to help >> >> user@ldap[~]$ sudo -u ldap /usr/bin/db_stat -h /var/lib/ldap/domain -c >> 566 Last allocated locker ID >> 0x7fffffff Current maximum unused locker ID >> 9 Number of lock modes >> 1000 Maximum number of locks possible >> 1000 Maximum number of lockers possible >> 1000 Maximum number of lock objects possible >> 80 Number of lock object partitions >> 16 Number of current locks >> 986 Maximum number of locks at any one time >> 14 Maximum number of locks in any one bucket >> 303 Maximum number of locks stolen by for an empty partition >> 18 Maximum number of locks stolen for any one partition >> 90 Number of current lockers >> 130 Maximum number of lockers at any one time >> 16 Number of current lock objects >> 519 Maximum number of lock objects at any one time >> 8 Maximum number of lock objects in any one bucket >> 0 Maximum number of objects stolen by for an empty partition >> 0 Maximum number of objects stolen for any one partition >> 348M Total number of locks requested (348174715) >> 348M Total number of locks released (348174394) >> 0 Total number of locks upgraded >> 112 Total number of locks downgraded >> 10622 Lock requests not available due to conflicts, for which we waited >> <------ sounds bad >> 0 Lock requests not available due to conflicts, for which we did >> not wait >> 2 Number of deadlocks >> 0 Lock timeout value >> 0 Number of locks that have timed out >> 0 Transaction timeout value >> 0 Number of transactions that have timed out >> 744KB The size of the lock region >> 221341 The number of partition locks that required waiting (0%) >> 5041 The maximum number of times any partition lock was waited for (0%) >> 1 The number of object queue operations that required waiting (0%) >> 40577 The number of locker allocations that required waiting (0%) >> 0 The number of region locks that required waiting (0%) >> 8 Maximum hash bucket length >> >> Only four clients are currently using this cluster so perhaps I should >> actually use DB_CONFIG before putting it into production. >> >> >> Thanks, >> >> Douglas Duckworth, MSc, LFCS >> HPC System Administrator >> Scientific Computing Unit >> Physiology and Biophysics >> Weill Cornell Medicine >> E: [email protected] >> O: 212-746-6305 <(212)%20746-6305> >> F: 212-746-8690 <(212)%20746-8690> >> >> On Tue, Aug 29, 2017 at 2:13 PM, Douglas Duckworth < >> [email protected]> wrote: >> >>> Adding >>> >>> # checkpointing - added 8/29/2017 >>> checkpoint 128 10 >>> >>> To slapd.conf then running >>> >>> sudo db_archive -d -h /var/lib/ldap/domain >>> >>> Removed the old log files. /var now using under 1GB. >>> >>> Thanks Howard! >>> >>> Our LDAP server contains about 4000 entries. At what point would adding >>> DB_CONFIG be needed for performance reasons? How would I even ascertain >>> that there's performance issues? >>> >>> >>> Thanks, >>> >>> Douglas Duckworth, MSc, LFCS >>> HPC System Administrator >>> Scientific Computing Unit >>> Physiology and Biophysics >>> Weill Cornell Medicine >>> E: [email protected] >>> O: 212-746-6305 <(212)%20746-6305> >>> F: 212-746-8690 <(212)%20746-8690> >>> >>> On Mon, Aug 28, 2017 at 10:19 AM, Douglas Duckworth < >>> [email protected]> wrote: >>> >>>> Thanks for the reply, Howard. >>>> >>>> Thanks for pointing me in the right direction. From what I have read >>>> there are two options. >>>> >>>> 1) Copy /usr/share/openldap-servers/DB_CONFIG.example to >>>> /var/lib/domain then rebuild the database. >>>> 2) Enable checkpointing in slapd.conf >>>> >>>> Does enabling checkpointing in slapd.conf require rebuilding the >>>> database or can I simply restart slapd.conf? We are not using online >>>> configuration. >>>> >>>> Best >>>> Doug >>>> >>>> >>>> >>>> Thanks, >>>> >>>> Douglas Duckworth, MSc, LFCS >>>> HPC System Administrator >>>> Scientific Computing Unit >>>> Physiology and Biophysics >>>> Weill Cornell Medicine >>>> E: [email protected] >>>> O: 212-746-6305 <(212)%20746-6305> >>>> F: 212-746-8690 <(212)%20746-8690> >>>> >>>> On Fri, Aug 25, 2017 at 8:55 AM, Howard Chu <[email protected]> wrote: >>>> >>>>> Douglas Duckworth wrote: >>>>> > Hi >>>>> > >>>>> > I am running openldap-servers-2.4.40-16.el6.x86_64 cluster on >>>>> Centos 6.9. My >>>>> > /var/lib/ldap directory contains many 10MB log files. /var >>>>> partition rather >>>>> > small... >>>>> > >>>>> > I've read they can be removed either by running "sudo db_archive -d >>>>> -h >>>>> > /var/lib/ldap/domain" or by defining "DB_LOG_AUTOREMOVE" within the >>>>> file >>>>> > "DB_CONFIG." That file does not presently exist whereas the >>>>> db_archive >>>>> > command does not actually remove any of the log files. >>>>> >>>>> If the db_archive command doesn't remove anything, that means it >>>>> thinks all of >>>>> the log files are still in active use. >>>>> >>>>> Read the docs more carefully. >>>>> https://urldefense.proofpoint.com/v2/url?u=http-3A__docs.ora >>>>> cle.com_cd_E17076-5F05_html_programmer-5Freference_transapp- >>>>> 5Flogfile.html&d=DwICaQ&c=lb62iw4YL4RFalcE2hQUQealT9-RXrryqt >>>>> 9KZX2qu2s&r=2Fzhh_78OGspKQpl_e-CbhH6xUjnRkaqPFUS2wTJ2cw&m=WP >>>>> 95x8mwSiEHHqUWRqJv6WdpfcTtJDAUAKN756yEEDA&s=Kfi27b4v7vABZjPQ >>>>> YMkeo4xBqUyDGZeyB8pHAFin8xY&e= >>>>> >>>>> > >>>>> > Can I remove the old log files manually using rm? >>>>> >>>>> Not if the above is true, you will corrupt the logs and the DB will >>>>> fail to >>>>> open on a subsequent restart. >>>>> >>>>> > If not should I create >>>>> > /var/lib/ldap/DB_CONFIG then restart slapd to make this removal >>>>> automatic? >>>>> >>>>> > Do you have any idea why db_archive does not work or produce any >>>>> helpful error >>>>> > to stdout? >>>>> >>>>> There's no error message because there's no error, everything is >>>>> working as >>>>> designed. >>>>> >>>>> You need to do periodic checkpoints to allow log files to be closed, >>>>> and then >>>>> db_archive will be able to remove some of them. >>>>> >>>>> -- >>>>> -- Howard Chu >>>>> CTO, Symas Corp. https://urldefense.proofpoint >>>>> .com/v2/url?u=http-3A__www.symas.com&d=DwICaQ&c=lb62iw4YL4RF >>>>> alcE2hQUQealT9-RXrryqt9KZX2qu2s&r=2Fzhh_78OGspKQpl_e-CbhH6xU >>>>> jnRkaqPFUS2wTJ2cw&m=WP95x8mwSiEHHqUWRqJv6WdpfcTtJDAUAKN756yE >>>>> EDA&s=IT7tNF72SCugdO8WpRd-oNsk4nPNpdjE2aUFL4R4X_M&e= >>>>> Director, Highland Sun https://urldefense.proofpoint >>>>> .com/v2/url?u=http-3A__highlandsun.com_hyc_&d=DwICaQ&c=lb62i >>>>> w4YL4RFalcE2hQUQealT9-RXrryqt9KZX2qu2s&r=2Fzhh_78OGspKQpl_e- >>>>> CbhH6xUjnRkaqPFUS2wTJ2cw&m=WP95x8mwSiEHHqUWRqJv6WdpfcTtJD >>>>> AUAKN756yEEDA&s=XqfYCnjG9ibPbeW05QZOlWdl9u0ZH-7IXkxx0gh238k&e= >>>>> Chief Architect, OpenLDAP https://urldefense.proofpoint. >>>>> com/v2/url?u=http-3A__www.openldap.org_project_&d=DwICaQ&c=l >>>>> b62iw4YL4RFalcE2hQUQealT9-RXrryqt9KZX2qu2s&r=2Fzhh_78OGspKQp >>>>> l_e-CbhH6xUjnRkaqPFUS2wTJ2cw&m=WP95x8mwSiEHHqUWRqJv6WdpfcTtJ >>>>> DAUAKN756yEEDA&s=-tGdeTJRpeaRbljBBUq49XgfNWzVElqiGEgv0LeqspU&e= >>>>> >>>> >>>> >>> >> >
