WebLogic Server Performance and Tuning
When you examine performance, a number of factors influence how much capacity a given hardware configuration will need in order to support WebLogic Server and a given application. The hardware capacity required to support your application depends on the specifics of the application and configuration. You should consider how each factor applies to your configuration and application. Before continuing with this section, here are some recommended starting points for planning your hardware configuration:
The following table provides some links to the information on the Supported Configurations pages, which contains the latest certification information on the hardware/operating system platforms that are supported for each release of WebLogic Server.
See the Bull/IBM links on the Supported Configurations pages.
See Hewlett-Packard HP/9000 with HP-UX 11.0 and 11i on the Supported Configurations pages.
See also Hewlett-Packard Company Information.
See the Intel/Windows links on the Supported Configurations pages.
See also Microsoft Information.
See the Red Hat links on the Supported Configurations pages.
See also Linux OS Information.
See SuSE Linux (SLES 8) for IA-32 on the Supported Configurations pages.
See also Linux OS Information.
See the Sun Microsystems SPARC Solaris links on the Supported Configurations pages.
See also Sun Microsystems Information.
Tune your operating system according to your operating system documentation. BEA certifies WebLogic Server on multiple operating systems on the Supported Configurations pages.
Note: The following sections list common parameters that can enhance performance. These lists are not all inclusive and parameters may be different or have different defaults for different Solaris operating systems.
This section lists important
/etc/system file tuning parameters that when tuned, can enhance application performance. Each socket connection to the server consumes a file descriptor. To optimize socket performance, you need to configure your operating system to have the appropriate number of file descriptors. Therefore, you should change the default file descriptor limits, as well as the hash table size and other tuning parameters in the
/etc/system file, to the recommended values in the following table.
For more information about Linux tuning, you should consult your Linux vendor's documentation. Also, the Ipsysctl Tutorial 1.0.4 describes all of the IP options provided by Linux.
For more HP-UX tuning information, see the Tunable Kernel Parameters reference documentation.
Network performance is affected when the supply of resources is unable to keep up with the demand for resources. Today's enterprise-level networks are very fast and are now rarely the direct cause of performance in well-designed applications. However, if you find that you have a problem with one or more network components (hardware or software), work with your network administrator to isolate and eliminate the problem. You should also verify that you have an appropriate amount of network bandwidth available for WebLogic Server and the connections it makes to other tiers in your architecture, such as client and database connections. Therefore, it is important to continually monitor your network performance to troubleshoot potential performance bottlenecks.
A common definition of bandwidth is "the rate of the data communications transmission, usually measured in bits-per-second, which is the capacity of the link to send and receive communications." A machine running WebLogic Server requires enough network bandwidth to handle all WebLogic Server client connections. In the case of programmatic clients, each client JVM has a single socket to the server, and each socket requires dedicated bandwidth. A WebLogic Server instance handling programmatic clients should have 125-150 percent of the bandwidth that a similar Web server would handle. If you are handling only HTTP clients, expect a bandwidth requirement similar to a Web server serving static pages.
To determine whether you have enough bandwidth in a given deployment, you can use the network monitoring tools provided by your network operating system vendor to see what the load is on the network system. You can also use common operating system tools, such as the
netstat command for Solaris or the System Monitor (
perfmon) for Windows, to monitor your network utilization. If the load is very high, bandwidth may be a bottleneck for your system.
Also monitor the amount of data being transferred across the your network by checking the data transferred between the application and the application server, and between the application server and the database server. This amount should not exceed your network bandwidth; otherwise, your network becomes the bottleneck. To verify this, monitor the network statistics for retransmission and duplicate packets, as follows:
For instructions on viewing other TCP parameters using the
netstat -s -P command, see Setting TCP Parameters With the ndd Command.
Your local area network must be fast enough to handle your application's peak capacity. If your network is fully utilized, in that the amount of traffic consistently exceeds its bandwidth capacity, yet your WebLogic Server machine is not fully utilized, do one of the following: