Hi all,

I've been testing the search performance boost gained from indexing
attributes before starting development on an optimization to improve
index performance and in memory size.  I thought I'd share these
dramatic results of my pre-optimization tests with you since they
clearly show the benefits of indices.

Before I do this let me list the characteristics of the hardware used
and my configuration settings:


-------------
Machine Setup
-------------

CPU: Dual Athlon MP 1900
OS: Linux 2.6.15
Mem: 2GB 266Mhz


--------------
ApacheDS Setup
--------------

ApacheDS: Stock RC4 (to be released pre-image) w/ modifications
  - Using 1024MB Memory
  - Indexed st and initials


----------
Data Setup
----------

Wrote a simple tool to generate random values for descent sized entries.
 The data sort of looks like this for a user entry:

        dn: uid=user.1,ou=users,dc=example,dc=com
        uid: user.1
        initials: yq
        description: cFocJATNuhlXisDCqGtY
        pager: FYyimqyZRW
        cn: HSGMzajYKmicUTe
        postalcode: WiXXA
        st: xy  
        street: kpCCqmrsCzkpdtHXWMfY
        l: KqmAXFYTrI
        objectclass: person
        objectclass: organizationalPerson
        objectclass: inetOrgPerson
        sn: nuymgOwpm
        homephone: PERamkCtsv
        mobile: vkIviOGNTC
        telephonenumber: 7248889026
        mail: pYvEoOjSnEymcWD
        givenname: IVHJZB
        postaladdress: crObexKoUTIFdzNHcZMr
        employeenumber: 1
        userpassword:: cGFzc3dvcmQ=

I started loading a partition up with these entries 100,000 of them at a
time then performing the following searches for all entries with
initials aa:

(1) index on initials but no cached entries
(2) index on initials with cached entries
(3) no index without cached entries

Here are the results at the various capacities:

---------------
100,000 Entries
---------------

    [cached] [indexed] [time (seconds)]

(1)    no       yes        3.30
(2)    yes      yes        0.72
(3)    no       no         30.63

search results = 153 entries


---------------
200,000 Entries
---------------

    [cached] [indexed] [time (seconds)]

(1)    no       yes        6.04
(2)    yes      yes        1.44
(3)    no       no         82

search results = 302 entries


---------------
300,000 Entries
---------------

    [cached] [indexed] [time (seconds)]

(1)    no       yes        7.54
(2)    yes      yes        1.95
(3)    no       no         146

search results = 451 entries


---------------
400,000 Entries
---------------

    [cached] [indexed] [time (seconds)]

(1)    no       yes        9.24
(2)    yes      yes        3.80
(3)    no       no         196

search results = 586 entries


---------------
500,000 Entries
---------------

    [cached] [indexed] [time (seconds)]

(1)    no       yes        11.96
(2)    yes      yes        3.21
(3)    no       no         224

search results = 748 entries


Alex


Reply via email to