Oracle Internet Directory tuning to boost group search performance


After several complains on group search performance i took the liberty of investigating this behaviour. Simple group search commands would reply in around 20 sec’s per execution.
THis was simular to a script used to check each user on group membership. When executed on a tree which contains over 100000 cn’s your up for a challenge.


oracle@ysoid01:~# time ldapsearch -h ysoid01 -p 389 -D cn=orcladmin -w [passwd] -s sub -b "cn=YS_MY_CONTENT ,cn=YS_GEBRUIKERS,cn=YS,cn=groups,dc=hosting,dc=yenlo,dc=nl" "objectclass=*" uniquemember | wc -l

111237

real 0m23.965s
user 0m2.964s
sys 0m0.068s

oracle@ysoid01:~# time ldapsearch -h ysoid01 -p 389 -D cn=orcladmin -w [passwd] -s sub -b "cn=YS_MY_CONTENT ,cn=YS_GEBRUIKERS,cn=YS,cn=groups,dc=hosting,dc=yenlo,dc=nl" "objectclass=*" uniquemember | wc -l

111238

real 0m17.857s
user 0m2.976s
sys 0m0.020s

oracle@ysoid01:~# time ldapsearch -h ysoid01 -p 389 -D cn=orcladmin -w [passwd] -s sub -b "cn=YS_MY_CONTENT ,cn=YS_GEBRUIKERS,cn=YS,cn=groups,dc=hosting,dc=yenlo,dc=nl" "objectclass=*" uniquemember | wc -l

111239

real 0m20.887s
user 0m2.860s
sys 0m0.044s

To boost this up i followed several hint found on metalink and forums. At the end i got it to preform whitin acceptable response times.
This is what i used to boost the performance for this particular group search issue:


sqlplus / as sysdba

SQL> alter session set current_schema=ods;

SQL> drop index ei_attrstore;

SQL> create bitmap index ei_attrstore on ds_attrstore(entryid, attrname) tablespace olts_attrstore nologging compute statistics;

SQL> alter index ei_attrstore noparallel;

Change configset0 :

$ORACLE_HOME/bin/ldapmodify -h [SERVERNAME] -p [PORT] -D cn=orcladmin -w [PASSWORD] -f ldap_tune.ldif

ldap_tune.ldif

dn: cn=configset0,cn=osdldapd,cn=subconfigsubentry
changetype: modify
replace: orclmaxcc
orclmaxcc: 10
-
replace: orclserverproces
orclserverprocs: 2

After all this , the ldapsearch results show an improvement !


oracle@ysoid01:~# time ldapsearch -h ysoid01 -p 389 -D cn=orcladmin -w [passwd] -s sub -b "cn=YS_MY_CONTENT ,cn=YS_GEBRUIKERS,cn=YS,cn=groups,dc=hosting,dc=yenlo,dc=nl" "objectclass=*" uniquemember | wc -l

111239

real 0m10.713s
user 0m2.292s
sys 0m0.032s