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

Re: Serious performance problems

Hi Hallvard,

The fields I want to perform searches on are all indexed and I have run
slapindex after adding "index" directives in slapd.conf. Still no way...

Thank you

             Hallvard B                                                    
             <h.b.furuseth@usi                                        Para 
             t.uio.no>                 Mikel.Santos@idom.com               
             Enviado por:                                               cc 
             Hallvard Breien           openldap-technical@openldap.org     
             Furuseth                                               Asunto 
             <h.b.furuseth@usi         Re: Serious performance problems    
             25/04/2008 15:15                                              

You need to add indexes for whatever you filter for.  Without them,
every search must examine all entries in scope for the search.
Include 'index objectClass eq' no matter what else, since slapd
often adds an objectClass component to your filter internally.

You can use loglevel 256 to see what your clients search for.

Also messges like
   <= bdb_<inequality, substring, etc>_candidates: (foo) not indexed
if I remember correctly.

If the clients search for (&(foo=...)(bar=...)) you might only need an
index for one of foo and bar, since each 'and' component narrows down
the search.  If they search for (|(foo=...)(bar=...)) you need both.
Even if you don't have both attributes in the database, because slapd
doesn't know that.  Except you don't need (and can't) index attributes
your included schema doesn't define.

If you add indexes by editing slapd.conf rather than via cn=config, stop
slapd and run sbin/slapindex to actually build the indexes.  Without
slapindex, slapd will think the empty index means nothing in the
database matches the indexed attribute.