To improve the performance of your LDAP directory server, especially if you are using calendar searches of the LDAP directory consider the following items:
To improve performance when Calendar Server accesses the LDAP directory server, add indexes to the LDAP configuration file for various attributes.
The configuration program, comm_dssetup.pl, will optionally do the indexing for you.
To see the performance difference indexing can give you, perform the following test:
Before indexing, time how long it takes to run the following LDAP command:
ldapsearch -b "base" "(&(icscalendarowned=* user*)(objectclass=icsCalendarUser))" |
where base is the LDAP base DN of the directory server where the user and resource data for Calendar Server is located, and user is the value that an end user can enter in the Calendar Express Subscribe \> Calendar Search dialog.
Run indexing for icsCalendarOwned.
Again run the following LDAP command, and time it:
ldapsearch -b "base" "(&(icscalendarowned=*user*)(objectclass=icsCalendarUser))" |
where base is the LDAP base DN of the directory server where the user and resource data for Calendar Server is located, and user is the value that an end user can enter in the Calendar Express Subscribe \> Calendar Search dialog.
Compare the times. There should be a measurable time difference.
To determine if the Look Through Limit (nsslapd-lookthroughlimit) and Size Limit (nsslapd-sizelimit) parameters are set to appropriate values, try the following command:
ldapsearch -b "base" "(&(icscalendarowned=* user ID*) (objectclass=icsCalendarUser))"
where base is the LDAP base DN of the directory server where the user and resource data for Calendar Server is located, and user ID is the value that an end user can enter in a calendar search dialog in Communications Express.
If the LDAP server returns an error, the nsslapd-sizelimit or the nsslapd-lookthroughlimit parameter might not be large enough. Follow these guidelines to set these parameters:
Ensure that the value for the nsslapd-sizelimit parameter in the slapd.conf or equivalent file is large enough to return all the desired results; otherwise, truncation can occur, and no results will be displayed.
Ensure that the value for the nsslapd-lookthroughlimit parameter in the slapd.ldbm.conf or equivalent file is large enough to complete a search of all the users and resources in the LDAP directory. If possible set nsslapd-lookthroughlimit to -1, which causes no limit to be used.