[Date Prev][Date Next] [Chronological] [Thread] [Top]

indexing questions -- hardware requirements

Don't worry -- this isn't a question on what properties to index or what
the various indexing options mean.

Could somebody explain what information is put in the index files when
substring indexes are generated? Or, more generally, what OpenLDAP's
indexing strategy is?

I'm wondering whether adding substring indices actually hurts the
performance of other indices (aside from the usual costs associated with
maintaining more information).

I'm also concerned about the sheer size of the index files -- generating
"sub" indices increases the size of the index files by an order of
magnitude. My directory is quite large -- about 1,000,000 entries -- so
I have to make sure that the machine running LDAP can handle the memory
requirements, which are in part determined by options like dbcachesize.
Does anybody have some rough metrics for memory usage, e.g. with X
number of entries, Y number of attributes per entry, Z indexes on these
attributes, etc?

One option that I'm considering is to maintain different indices on
different slave directories. This way, performance on the server used by
my web application can be optimized for the search filters used by the
web application, and performance on the server used by the service and
support staff can degrade a bit more...
Has anybody else tried this? Or do you have a better suggestion?

Finally, is slurpd actually more efficient at handling modify
operations? While a directory is handling a modify operation from a
client, its performance is pretty bad. So, by "efficient" I mean, do the
slaves take significantly LESS of a performance hit if the slurpd
process sends modify operations than if a slave handles client requests
(synchronization issues aside...)