Performance Tuning for Communications Express Address Book

Russ Petruzzelli has been working in the lab on tests of our Communications Express 6.2 product. I've been helping him write up his results of his performance tests. I thought it would be beneficial to leak out our findings for a preferred set of settings for performance tuning.

Key Findings:
1. Upgrade the JVM to JDK 1.5_06 or later
2. Turn off Gunzip Settings


1 Solaris System Tuning Values


1.1 /etc/system (all machines)

All systems were on Solaris 10. The default settings are adequate. No tuning required.


1.2 TCP Parameters

tcp_time_wait_interval 30000
tcp_fin_wait_2_flush_interval 37500
tcp_conn_req_max_q 8192
tcp_conn_req_max_q0 8192
tcp_keepalive_interval 180000
tcp_rexmit_interval_initial 500
tcp_rexmit_interval_min 3000
tcp_rexmit_interval_max 6000
tcp_smallest_anon_port 1024
tcp_slow_start_initial 2
tcp_xmit_hiwat 65536
tcp_recv_hiwat 65536
tcp_ip_abort_interval 180000
tcp_ip_abort_cinterval 10000
tcp_deferred_ack_interval 5
tcp_strong_iss 2


2. Java & Web Server Tuning Values


2.1 Webserver Java Virtual Machine (JVM) options


<JVMOPTIONS>-Xms3000M -Xmx3000M</JVMOPTIONS>
<JVMOPTIONS>-Xloggc:/opt/SUNWwbsvr/https-ps-eng4-zone3.siroe.com/logs/gclog</JVMOPTIONS>
<JVMOPTIONS>-XX:NewSize=128M</JVMOPTIONS>
<JVMOPTIONS>-XX:MaxNewSize=256M</JVMOPTIONS>
<JVMOPTIONS>-XX:+UseParNewGC</JVMOPTIONS>
<JVMOPTIONS>-XX:+UseConcMarkSweepGC</JVMOPTIONS>
<JVMOPTIONS>-XX:+DisableExplicitGC</JVMOPTIONS>
<JVMOPTIONS>-XX:+OverrideDefaultLibthread</JVMOPTIONS>
<JVMOPTIONS>-XX:-UseAdaptiveSizePolicy</JVMOPTIONS>
<JVMOPTIONS>-Xss128k</JVMOPTIONS>
<JVMOPTIONS>-XX:PermSize=128M</JVMOPTIONS>
<JVMOPTIONS>-XX:MaxPermSize=256M</JVMOPTIONS>


2.3. Webserver magnus.conf


RqThrottle 256
StackSize 393216
ThreadIncrement 16
ConnQueueSize 4096
ListenQ 4096
KeepAliveThreads 8
KeepAliveTimeout 30
MaxKeepAliveConnections 512
#Init fn="init-passthrough"
UseNativePoll off


2.4. Java Version Upgrade


Move the /usr/java symbolic link to release 10 of Java Standard Edition 5.


/usr/java -> jdk1.5.0_10/


2.5 Webserver Performance Monitoring Activation (.perf output)

1. Inside default object (must be first two lines in the object):

NameTrans fn=assign-name from="/.perf" name="perf"
NameTrans fn="assign-name" name="stats-xml" from="(/stats-xml|/stats-xml/\*)"

2. Immediately after default object:
<Object name="perf">
Service fn="service-dump"
</Object>


3. enable statistics in the webserver console or make entries

4. in the magnus.conf:

vi magnus.conf (place anywhere in the file)

Init fn="stats-init" profiling="on"


3 Directory Server Tuning

3.1 dse.ldif modifications


dn: cn=config,cn=ldbm database,cn=plugins,cn=config
nsslapd-dbcachesize: 1048576000
nsslapd-import-cachesize: 20971520
nsslapd-db-home-directory: /tmp/slapd-ps-eng6-zone2/db
nsslapd-maxthreadsperconn: 20


dn: cn=piserverdb, cn=ldbm database, cn=plugins, cn=config
nsslapd-cachememsize: 2048000000


dn: cn=config
nsslapd-accesslog-logging-enabled: on
nsslapd-accesslog-level: 131328
(see Directory Server Reference Manual: Chapter 4 "Core Server Configuration Attributes.")


4 Communications Express Tuning


4.1 Authentication LDAP Settings


/var/opt/SUNWuwc/WEB-INF/config/uwcauth.properties


ldapusersession.ldappoolmin = 10
ldapusersession.ldappoolmax = 5000
ldapusersession.ldappooltimeout =30
ldapusersession.ldappoolrefresh =15

4.2. LDAP Store Settings


/var/opt/SUNWuwc/WEB-INF/config/ldappstore/db_config.properties


defaultserver.ldappoolmin=10
defaultserver.ldappoolmax=100
defaultserver.ldappooltimeout=30

Note: These are not recommended or optimum settings. As one goal of
this testing was to reproduce the load seen in the customer's environment. Thus these settings were "played around with" to try and
see performance deficiencies and improvements.

4.3. /var/opt/SUNWuwc/WEB-INF/web.xml


<session-timeout>600</session-timeout>

Technorati Tags: , , , ,

Comments:

Great stuff. Can you comment on any specific TCP settings for Solaris 9? Specifically 1.1

Posted by AveJoe on March 16, 2007 at 10:21 PM PDT #

Post a Comment:
Comments are closed for this entry.
About

I'll be writing about topics that would interest users and developers of Sun Java Communication Suite.

Search

Archives
« May 2015
SunMonTueWedThuFriSat
     
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
      
Today