You are on page 1of 22

7.

1 System Tuning &
Load Balancing
Overview

Scope of Tuning
Tuning the Concur 7.1 Application
Application Servers
Tomcat
BEA Weblogic
JVM
Load Balancing and cache synchronization
General Systems Setup
Before Tuning

When making any tuning settings remember that
behavior may differ depending on external variables
such as network, hardware, unusual activity etc.
So before making changes backup settings
Test and retest to verify any changes
Remember that increasing the tuning values more than
the values suggested does not mean that performance
will be even better !
Scope of Tuning

Client Users Firewall
Firewall
App Server

SSL
user4
Load Balancer

user4

user4

user4
Concur DB
WebServer

SSL

App Server

Batch Server
Basic Topology

Client Users

user4
user4

user4
Concur DB
Application
Server

Concur Expense 7.0

Core
Data Workflow Audit Users/ Language
Components Engine Rules Groups
Security
Support
Access

Open
Source

J2EE
Application Tuning

Setting DB Connection Pooling Parameters
Concur\Web-Inf\conf\db.properties file
Add the setting if not present
torque.dsfactory.default.pool.defaultMaxWait = 1
Concur\Web-Inf\conf\torque.properties
Under the section
# Settings used when configured with
Jdbc2PoolDataSourceFactory
Set
torque.dsfactory.default.pool.MaxActive=-1
torque.dsfactory.default.pool.testOnBorrow=0
Set user session timeouts
Prevents application server from continually
creating new threads
Recycles session memory back to the server
Add or modify in Concur\web-inf\web.xml
<session-config>
<session-timeout>20</session-timeout>
</session-config>

Note: Time is in minutes
J2EE Garbage Collection

A poorly tuned JVM can lead to long pauses in
processing time and poor utilization of memory
Ensure that the JAVA options variables are pointed to
the supported JVM version ie Sun JDK 1.4.2
Set maximum and minimum java heap size to 1024mb
-Xms1024m –Xmx1024m
Set young generation size to 1/3 of heap size , 384mb or
as high as 450mb
-XX:NewSize=350m -XX:MaxNewSize=350m
Set JVM to server option
-server
Tomcat JVM settings
Hkey_local_machine\system\currentcontrolset\services\Apache
Tomcat
BEA Weblogic 8.1
Hkey_local_machine\system\currentcontrolset\services\
bea_?????
Application Server Tunings

Tomcat
Modify the tomcat\conf\server.xml settings for the
SSL and non-SSL Coyote HTTP/1.1 Connector
Set acceptCount="50"
Set maxProcessors to 3 x expected # of
concurrent users eg maxProcessors=“600“
Set enableLookups="false"
Ensure detailed debugging logging is disabled
<!--
<Valve
className="org.apache.catalina.valves.RequestDumperValve"/>
-->
Tomcat server.xml settings

<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8080" minProcessors="5" maxProcessors=“600"
enableLookups="false" redirectPort="8443"
acceptCount="50" debug="0" connectionTimeout=“20000"
useURIValidationHack="false" disableUploadTimeout="true" />
<!-- Note : To disable connection timeouts, set connectionTimeout value
to -1 -->
BEA Weblogic 8.1
Serversmyserver
monitoringmonitor
all active queues
configuration
Modify the Default
Execute Queue
Set Thread Count to
25 per CPU
Set Threads
Maximum to 40
Set Queue Length to
1000
Configuring the Default
Execute Queue
Enable the Performance
Tuning Pack
Set Enable Native I/O = on
Set Maximum Open Sockets
= -1 (default)
Set Accept Backlog=50
Modify the application
descriptor file
Set Session Timeout
Secs to 1200 seconds
Set Servlet Reload
Check Secs to -1
Checking number of Sessions
BEA

Checking number of Sessions
Tomcat
Load Balancing

Two important aspects
Load Balancing must support session affinity or
“Sticky IP”
Cache updates need to be enabled on all
application servers – see 7.1 Reference Manual to
enable this
Alternative approaches to Load Balancing
Possible to Front End application servers with
web servers
Currently SunOne Web server to BEA WLS a
supported configuration
Recommend load balancing solution between
client users and webservers and between
webservers and application servers
Firewall
Firewall

WebServer App Server
SSL
Load Balancer
user4
Load Balancer
user4

user4

user4

SSL

WebServer

App Server
Other General Tunings

Remove any network bottlenecks
Isolate network traffic between the application
servers and database server away from the client /
application server network traffic
Add ideally four Nic cards per application server.
2 teamed for client side and 2 teamed for DB side.
Add teamed Nic adapters to the Database server
Enable Hyper Threading if using Intel Xeon Processors
Doubles processing power of processors
Set Nic adapters to Full-Duplex speed
If using virus detection software monitor it carefully
for any impact to CPU utilization. Disable web content
checking.