This chapter describes the information you need to consider for improving the performance of Sun JavaTM System Communications Express.
To improve performance consider the following tuning options:
This section describes the tuning you can perform on Directory Server to enhance performance.
To improve the performance of Communications Express when Calendar Server accesses the LDAP directory server, index the following LDAP attributes:
icsCalendar. The attribute is used to search default calendars for a calendar user or resource. Specify the index type as presence (pres), equality (eq), or substring (sub).
icsCalendarOwned. The attribute is used to search for a subscribe operation when the LDAP CLD plug-in is enabled. Specify the index type as presence (pres), equality (eq), and substring (sub).
mail and mailAlternateAddress . These two attributes specifies a user’s primary and alternate email addresses.
The comm_dssetup.pl script adds indexes for icsCalendar , icsCalendarOwned, mail, and mailAlternateAddress attributes.
It is important that the nsSizeLimit and nsLookthroughLimit parameters in User/Group LDAP directory server configuration is large enough for searches to be completed properly.
To determine if these parameters are set to appropriate values, type the following 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.
/user/ is the value that an end user can enter in Calendar Search dialog under the Subscribe option in Communications Express.
The LDAP server returns an error, if the nsSizeLimit or the nsLookthroughLimit parameter is not large enough.
Follow these guidelines to reset nsSizeLimit or the nsLookthroughLimit parameters:
Ensure that the value for nsSizeLimit parameter is large enough to return all the desired results; otherwise, data can get truncated, and no results will be displayed.
Ensure that the value for nsLookthroughLimit parameter is large enough to complete a search of all the users and resources in the LDAP directory. If possible set nsLookthroughLimit to -1. By doing this, no search limit is set for nsLookthroughLimit.
This section describes how load balancing across multiple CPU on Calendar Server can enhance performance.
If a server has multiple CPUs, by default Calendar Server distributes the HTTP Service such as cshttpd processes and Distributed Database Service such as csdwpd processes across CPUs.
The service.http.numprocesses and service.dwp.numprocesses parameters in ics.conf determine the actual number of processes that run for each service. By default, these parameters are set to the number of CPUs for the server during installation, but you can reset these values. For example, if a server has 8 CPUs, but you want a cshttpd and csdwpd process to run in only 4 CPUs, set the parameters as:
service.http.numprocesses="4"
service.dwp.numprocesses="4"
Add the service.loadbalancing parameter to the ics.conf file
Set service.loadbalancing to “no.”
Restart Calendar Server for the change to take effect.
For information on load balancing refer to Appendix C, Calender Server Performance Tuning, in the Sun ONE Calendar Server 6.0 Administrator’s Guide
This section describes the tuning you can perform on Web Server to enhance performance.
In server.xml, change the value of the attribute acceptorthreads present in <vs\> (virtual server) element to the number of CPUs on the machine hosting Web Server.
For example:
<VS id="https-siroe.com" connections="ls1" mime="mime1"aclids="acl1" urlhosts="<webserver hostname"acceptorthreads="<noofcpus\>" \> |
Add or set the following JVM options in the server.xml file of Web Server.
The following two parameters determine the heap size of JVM
JVMOPTIONS-Xms(approx value according to the memory available)/JVMOPTIONS
JVMOPTIONS-Xmx(approx value according to the memory available)/JVMOPTIONS
The first option indicates Maximum heap size and the second option indicates Minimum heap size
It is recommended to have the same values for both the options.
Add the following JVM option
JVMOPTIONS -server /JVMOPTIONS
Set the following parameters for garbage Collection
JVMOPTIONS-XX:+UseParNewGC/ JVMOPTIONS
JVMOPTIONS-XX:ParallelGCThreads= number-of-CPUs/JVMOPTIONS
JVMOPTIONS-XX:+UseConcMarkSweepGC/ JVMOPTIONS
In the uwcconfig.properties file, enable compression of the sever response by setting the uwc.gzip compression parameter value to “true.”
For example, uwc.gzipcompression = true
Then, restart the Web Server.
Maintain a backup of your configuration files before making any changes.
Edit the web.xml file found in deployed-dir/ WEB-INF directory.
This xml file contains the xml tag session-config, which has the attribute session-timeout .
This attribute defines the session time-out in seconds.
Change the value of the session-timeout attribute to the desired value.
For example, the following defines session-time-out for 10 minutes:
<session-config\> <session-timeout\>600</session-timeout\> </session-config\> |