Advanced Windchill Configurations
This section describes advanced configurations including background method servers, RMI for tunneling over HTTP, multiple method servers with load balancing, and LDAP failover.
Load Balancing Multiple Method Servers
Multiple method servers can be started on a single host to distribute and balance loads across multiple operating system processes. This may be beneficial if you are running a multiprocessor system that does not have native thread support.
In a multiple method server environment, the default setup performs a simple round-robin balancing on initial client connections only. Load balancing takes the balancing idea one step further to the actual method call. This gives the method server the opportunity to seamlessly switch a client request to a different server at the level of individual method calls if server load is excessive.
The following sections describe how to configure multiple method servers and set properties for load balancing.
Configuring Windchill Properties for Multiple Method Servers
Code changes are not required to use the load-balancing capabilities within Windchill. Properties within the wt.properties file control load-balancing behavior.
To configure multiple method servers for Windchill, the server manager must start multiple method servers and monitor the servers for activity. Use the following properties in wt.properties to configure multiple Windchill method servers:
wt.manager.monitor.start.MethodServer=x
where x is the number of method servers desired.
This number does not include any method servers that will be used as background methods servers.
|
High availability queue processing is enabled by default so all method servers may perform queue processing. You may choose to configure specific background method servers to execute queues. For the details on configuring a background method server to run background queues, see the section Configuring a Method Server for Background Queues in Configuring Background Method Servers.
|
Setting Up Threshold Detection for Load Balancing Requests from RMI-based Clients
When a request from an RMI-based client (such as a Java RMI-based client) is made on a method server, the current server checks to determine if any of the following thresholds have been surpassed.
Threshold
|
Description
|
wt.method.loadbalance.RMISockets
|
Defines the number of RMI sockets the server allows to be active before a ServerLoadException is thrown. Default is 0.
|
wt.method.loadbalance.activeContext
|
Defines the maximum number of currently active contexts allowed within the server before a ServerLoadException is thrown. Default is wt.pom.maxDbConnections.
|
If a threshold is surpassed, the server throws an exception using wt.method.ServerLoadExceptions which has a reference to the next server. The RMI client catches the exception and can then redirect its request to the server that is referenced.
The following property specifies the maximum number of times a single method call can be redirected:
wt.method.loadbalance.maxRedirects
The default setting is 1. A setting of 0 causes method calls to be redirected until a server that falls below the thresholds is identified.
If a threshold is set to zero, or is not defined within wt.properties, the threshold is ignored.