Turning off the accesslog completely did increase writes but only to ~200
per sec. That is still not an acceptable number. So I need to figure out how
to tweak OpenLDAP to increase write performance for both my primary backend
and the accesslog backend.
Here is my configuration for the accesslog database. These are basically
straight out of the box. I am not sure how best to tweak these to increase
writes. My current configuration has both the db and log files for both the
log and primary databases on the same disk. I realize that split these
across multiple disks would help with the write performance.
Any other suggestions on how to imrpove write performance would be greatly
appreciated.
Thanks,
Pete
slapd.conf
-------------------------
#Access Log database
database hdb
suffix "cn=log"
rootdn "cn=Manager,cn=log"
rootpw secret
directory /opt/symas/var/openldap-data/access
# Indices to maintain
index reqStart eq
index objectClass eq
DB_CONFIG
------------------------
# one 0.25 GB cache
set_cachesize 0 268435456 1
# Data Directory
#set_data_dir db
# Transaction Log settings
set_lg_regionmax 262144
set_lg_bsize 2097152
set_lg_dir /opt/symas/var/openldap-logs/access
On Fri, Mar 20, 2009 at 3:56 PM, Russell Jackson <raj(a)csub.edu> wrote:
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.
--
Russell A. Jackson <raj(a)csub.edu>
Network Analyst
California State University, Bakersfield
What the scientists have in their briefcases is terrifying.
-- Nikita Khruschev