10 Setting up WebLogic Clusters
7. Click Save
8. Click Activate Changes in the top left corner of the Console to activate your changes.
10.2.16.1.2 Set the Number of Reader Threads on Machines that Host Server Instances By default, a WebLogic Server instance creates three socket reader threads upon booting.
If you determine that your cluster system may utilize more than three sockets during peak periods, increase the number of socket reader threads:
1. Open the WebLogic Server Administration Console.
2. Select Environments > Servers.
3. Select the name of the server instance you want to configure.
4. If you have not already done so, click Lock & Edit in the top left corner of the Console.
5. Select Configuration > Tuning.
6. Edit the percentage of Java reader threads in the Socket Readers field. The number of Java socket readers is computed as a percentage of the number of total execute threads (as shown in the Execute Threads field).
7. Click Save to save your changes.
8. Click Activate Changes in the top left corner of the Console to activate your changes.
10.2.16.1.3 Set the Number of Reader Threads on Client Machines On client machines, you can configure the number socket reader threads in the Java Virtual Machine (JVM) that runs the client. Specify the socket readers by defining the
-Dweblogic.ThreadPoolSize=value and
-Dweblogic.ThreadPoolPercentSocketReaders=value options in the Java command line for the client.
10.2.16.2 Configure Multicast Time-To-Live (TTL)
If your cluster spans multiple subnets in a WAN, the value of the Multicast Time-To-Live (TTL) parameter for the cluster must be high enough to ensure that routers do not discard multicast packets before they reach their final destination. The Multicast TTL parameter sets the number of network hops a multicast message makes before the packet can be discarded. Configuring the Multicast TTL parameter
appropriately reduces the risk of losing the multicast messages that are transmitted among server instances in the cluster.
For more information about planning your network topology to ensure that multicast messages are reliably transmitted see Section 3.1.1.1.1, "If Your Cluster Spans Multiple
To configure the Multicast TTL for a cluster, change the Multicast TTL value on the Multicast page for the cluster in the Administration Console. The config.xml excerpt below shows a cluster with a Multicast TTL value of three. This value ensures that the cluster's multicast messages can pass through three routers before being discarded:
If multicast storms occur because server instances in a cluster are not processing incoming messages on a timely basis, you can increase the size of multicast buffers.
For information on multicast storms, see Section 3.1.1.1.4, "If Multicast Storms Occur."
TCP/IP kernel parameters can be configured with the UNIX ndd utility. The udp_
max_buf parameter controls the size of send and receive buffers (in bytes) for a UDP socket. The appropriate value for udp_max_buf varies from deployment to
deployment. If you are experiencing multicast storms, increase the value of udp_max_
buf by 32K, and evaluate the effect of this change.
Do not change udp_max_buf unless necessary. Before changing udp_max_buf, read the warning in the "UDP Parameters with Additional Cautions" section in the "Internet Protocol Suite Tunable Parameters" chapter in Solaris Tunable Parameters Reference Manual at
http://download.oracle.com/docs/cd/E19253-01/817-0404/chapter4-7 0/index.html.
10.2.16.4 Configure Multicast Data Encryption
WebLogic Server allows you to encrypt multicast messages that are sent between clusters. You can enable this option by checking Enable Multicast Data Encryption from the Administration Console by navigating to the Environment > Clusters >
cluster_name > Multicast node and selecting the Advanced options.
Only the data portion of the multicast message is encrypted. Information contained in the multicast header is not encrypted.
10.2.16.5 Configure Machine Names
Configure a machine name if:
■ Your cluster will span multiple machines, and multiple server instances will run on individual machines in the cluster, or
■ You plan to run Node Manager on a machine that does not host an Administration Server
Note: When relying upon the Multicast TTL value, it is important to remember that within a clustered environment it is possible that timestamps across servers may not always be synchronized. This can occur in replicated HTTP sessions and EJBs for example.
When the ClusterDebug flag is enabled, an error is printed to the server log when cluster members clocks are not synchronized.
Cluster Implementation Procedures
WebLogic Server uses configured machine names to determine whether or not two server instances reside on the same physical hardware. Machine names are generally used with machines that host multiple server instances. If you do not define machine names for such installations, each instance is treated as if it resides on separate physical hardware. This can negatively affect the selection of server instances to host secondary HTTP session state replicas, as described in Section 6.2.1.2, "Using
Replication Groups."
10.2.16.6 Configuration Notes for Multi-Tier Architecture
If your cluster has a multi-tier architecture, see the configuration guidelines in Section 9.3.4, "Configuration Considerations for Multi-Tier Architecture."
10.2.16.7 Enable URL Rewriting
In its default configuration, WebLogic Server uses client-side cookies to keep track of the primary and secondary server instance that host the client's servlet session state. If client browsers have disabled cookie usage, WebLogic Server can also keep track of primary and secondary server instances using URL rewriting. With URL rewriting, both locations of the client session state are embedded into the URLs passed between the client and proxy server. To support this feature, you must ensure that URL
rewriting is enabled on the WebLogic Server cluster. For instructions on how to enable URL rewriting, see "Using URL Rewriting Instead of Cookies" in Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server.