![]() ![]() ![]() ![]() ![]() ![]() |
With non-virtualized WLS you can tune your OS to improve the performance of your application. For information about tuning a standard OS for WLS, see Operating System Tuning in WebLogic Server Performance and Tuning.
The LiquidVM kernel was designed and developed to provide an optimized runtime for executing Java on the JRockit JVM, or more specifically, Java EE applications deployed on WLS on the JRockit JVM. The LiquidVM kernel is not a general purpose OS, and therefore, contains very few performance related configuration options.
However, there are certain system defaults which, for a given deployment, may be:
For the most part, such system defaults are set dynamically depending on a given load. Although, in certain circumstances, dynamic settings may be too slow to scale or may introduce unwanted indeterminism.
The following topics describe how the LiquidVM kernel can be tuned to improve the performance of WLS-VE applications:
The LiquidVM startup options described in Table 9-1 can have an effect on performance and can be tuned as required.
Describes the maximum amount of received data a socket may buffer. The TCP receive window is based upon the free buffer size. Individual sockets may set this number using
java.net.Socket.setReceiveBufferSize(int) (see the API Javadoc,
JavaTM 2 Platform Standard Edition 5.0 API Specification, for more information).
|
||
Static system default
SO_SNDBUF . Describes the maximum amount of transmit data a socket may buffer. Individual sockets may set this number using java.net.Socket.setSendBufferSize(int) (see API Javadoc,
JavaTM 2 Platform Standard Edition 5.0 API Specification, for more information). Normally, the LiquidVM kernel dynamically sets this number based on memory pressure. Explicitly setting this option disables the dynamic configuration, and statically sets the system default. Generally speaking, the higher the better; the cost is that the amount of memory used potentially limits the maximum number of sockets.
|
||
Delays lone ACK packets with the expectation that the user will reply to the received data, piggybacking the ACK on the next transmission. Disabling this feature results in ACK being scheduled for immediate transmission, meaning better latency at the cost of "badput" (needless transmission, costing CPU).
|
Table 9-2 provides comparisons for basic OS tuning concepts between non-virtualized WLS and the LiquidVM kernel. For detailed information about OS tuning with non-virtualized WLS, see Operating System Tuning in WebLogic Server Performance and Tuning.
Table 9-3 lists common OS tunable parameters and their counterparts if they exist in the LiquidVM kernel. In many cases, these tunable parameters are not necessary for the LiquidVM kernel because it is a single-process, single-user operating environment designed to run one Java application most efficiently. Therefore, some of the tunable parameters in normal OSes can be completely eliminated. Tunable parameters that do not have counterparts in the LiquidVM kernel are listed as N/A.
N/A. Dynamically estimate effective MSL for each socket. For more information, see Table 9-2.
|
|
![]() ![]() ![]() |