masarati@aero.polimi.it wrote:
We are experiencing a decay in query performance over time using OpenLDAP 2.3.43 on CentOS 5.
After populating the database with about 70 000 entries, the query response time for one entry is about 0.4s. After about two hours the same query takes over 1s. The slapd.conf file and DB_CONFIG files that we use can be found at the following URLs.
http://svnweb.cern.ch/trac/gridinfo/browser/bdii/trunk/etc/bdii-slapd.conf http://svnweb.cern.ch/trac/gridinfo/browser/bdii/trunk/etc/DB_CONFIG
Does anyone have an idea about what is happening.
Not sure whether it matters or not, but your DB_CONFIG's set_cachesize looks very small, about 50MB. Are the same DB_CONFIG settings used for all databases? What database, of the 3 defined in your slapd.conf, is suffering from this problem? Are critical searches related to indexed attrs? Can you reproduce the problem with recent releases (e.g. 2.4.19)?
Also, I note that only in the first database you define an equality index on objectClass. This is instrumental for decent performances of slapd, as documented in slapd-bdb(5) (the presence index on objectClass is pointless).
The DB_CONFIG is the same for all databases. The first database has about 70K entries and the others only have a couple of entries. What is interesting is that queries to the all databases are really slow even though there is almost no data in two of them. I am have tried the 2.4.18 packages from Buchan Milne on RHEL5 and they seem to work fine.
The performance seems to be a great deal worse for none index searches. Searching for entries using the object class takes about 1s, however, using an attribute and a wild card takes 26s. The performance of both become worse with each successive query and this affects all databases no matter which one queried.
Thanks for your help
Laurence