Pete Giesin wrote:
I am working on setting up OpenLDAP for a web project. I had originally planned on using the accesslog overlay to track all access to the LDAP. I have discovered that the use of this overlay has a tremendous impact on performance.
I started out by auditing all operations. With this configuration I was getting 40-50 reads/sec max. I then decided that I only needed to audit writes. Making this change sent the reads through the roof, but the writes were still only averaging 16-20 per second. I am in the process of retesting the writes with no accesslog. My assumption is that the writes per second will jump dramtically.
So I have to question what is the purpose of the accesslog overlay? Is it really needed and if so is there are way to increase its performance. I have to admit that I have not paid attention to the settings for the accesslog backend. Do I need to tweak these settings just like I did for my primary backend? If so what are the optimal settings for a write intensive database?
I'm sure there will be disagreement over what I'm about to say, but if your application is write intensive, OpenLDAP is probably the wrong tool for the job. That said, if you tune the bdb backend for the access log correctly, you should be able to get many order of magnitudes better performance out of it.