BACKRUSH  À¯´Ð½º¸í·É  ´ÙÀ½  ÀÚ·á½Ç  Ascii Table   ¿ø°ÝÁ¢¼Ó  ´Þ·Â,½Ã°£   ÇÁ·Î¼¼½º   ½©
ÁöÇÏö³ë¼±   RFC¹®¼­   SUN FAQ   SUN FAQ1   C¸Þ´º¾ó   PHP¸Þ´º¾ó   ³Ê±¸¸®   ¾Æ½ºÅ°¿ùµå ¾ÆÀÌÇǼ­Ä¡

±Û¾´ÀÌ: ¸®´ª ¸®´ª½º Æ©´× Á¶È¸¼ö: 7364


Tuning Linux systems
This topic describes how to tune the Linux? operating system to optimize the performance of your WebSphere? Application Server.

About this task
When you have a performance concern, check the operating system settings to determine if these settings are appropriate for your application. Because the Linux operating system is not a WebSphere Application Server product, be aware that it can change and results can vary.
Procedure
Configure the following settings and variables according to your tuning needs:
timeout_timewait parameter
Description: Determines the time that must elapse before TCP/IP can release a closed connection and reuse its resources. This interval between closure and release is known as the TIME_WAIT state or twice the maximum segment lifetime (2MSL) state. During this time, reopening the connection to the client and server cost less than establishing a new connection. By reducing the value of this entry, TCP/IP can release closed connections faster, providing more resources for new connections. Adjust this parameter if the running application requires rapid release, the creation of new connections, and a low throughput due to many connections sitting in the TIME_WAIT state.
How to view or set:
Issue the following command to set the timeout_timewait parameter to 30 seconds:

echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
SUSE Linux Enterprise Server 8 (SLES 8) SP2A - sched_yield_scale tuning
Description: The Linux scheduler is very sensitive to excessive context switching, so fixes are integrated into the SLES 8 kernel distribution to introduce delay when a thread yields processing. This fix is automatically enabled in SLES 8 SP3, but must be enabled explicitly in SLES 8 SP2A or later.
How to view or set:
Upgrade your SLES 8 service pack to SP2A.
Issue the sysctl -w sched_yield_scale=1 command .
Default value: 0
Recommended value: 1
RedHat Advanced Server 2.1 kernel update
Description: Kernel updates for RedHat Advanced Server 2.1 implemented changes that affect WebSphere Application Server performance, especially memory-to-memory HTTP session replication.
How to view or set:
Issue the uname -a command
If you are running any kernel prior to 2.4.9-e.23, upgrade at least to the RedHat Advanced Server 2.1 kernel, but preferably to the latest supported.
Default value: 2.4.9-e.3
Recommended value: 2.4.9-e.23
Linux file descriptors (ulimit)
Description: Specifies the number of open files that are supported. The default setting is typically sufficient for most applications. If the value set for this parameter is too low, a file open error, memory allocation failure, or connection establishment error might be displayed.
How to view or set: Check the UNIX? reference pages on the ulimit command for the syntax of different shells. To set the ulimit command to 8000 for the KornShell shell (ksh), issue the ulimit -n 8000 command. Use the ulimit -a command to display the current values for all limitations on system resources.
Default value: For SUSE Linux Enterprise Server 9 (SLES 9), the default is 1024.
Recommended value: 8000
Connection backlog
Description: Change the following parameters when a high rate of incoming connection requests result in connection failures:
echo 3000 > /proc/sys/net/core/netdev_max_backlog
echo 3000 > /proc/sys/net/core/somaxconn

TCP_KEEPALIVE_INTERVAL
Description: Determines the wait time between isAlive interval probes.
How to view or set: Issue the following command to set the value:
echo 15 > /proc/sys/net/ipv4/tcp_keepalive_intvl
Default value: 75 seconds
Recommended value: 15 seconds
TCP_KEEPALIVE_PROBES
Description: Determines the number of probes before timing out.
How to view or set: Issue the following command to set the value:
echo 5 > /proc/sys/net/ipv4/tcp_keepalive_probes
Default value: 9 seconds
Recommended value: 5 seconds
Allocating large pages for Java¢â virtual machine (JVM) heap (tested with SLES 9)
Some applications require a very large heap for optimal performance. The CPU overhead of managing a large heap can be reduced by using the "large page" support that is provided by the CPU and operating system. The following example assumes a large page size of 4MB and a desired heap size of 2300MB.

Set the following three settings by a sysctl.conf file, typically located at /etc/sysctl.conf.
Note: You must have root privilege access to modify this file. Also, verify the file is not marked as read-only before attempting to make changes.
Set the number of large pages (2300MB = 575 * 4MB) by issuing the following command:
vm.nr_hugepages = 575
Set the maximum shared segment size to 2300MB plus a little more (about 95MB) (2511724800 = 2300MB * 1048576 bytes/MB + 100000000 bytes) by issuing the following command:
kernel.shmmax = 2511724800

Set the total amount of memory to be shared by issuing the following command:
kernel.shmall = 2511724800

Set the Xmx JVM option to 2300MB.
Relocate the program text to a lower virtual memory address (0x10000000) to provide more address space for a larger heap. On SUSE Linux Enterprise Server 9 , run the following command to relocate the text in the script that invokes the JVM or in a .profile file:
echo "0x10000000" > /proc/self/mapped_base
Results
This tuning procedure improves performance of WebSphere Application Server on the Linux operating system.

°ü·Ã±Û : ¾øÀ½ ±Û¾´½Ã°£ : 2010/06/22 17:52 from 220.68.245.211

  À©µµ¿ì Æ©´× ¸ñ·Ïº¸±â »õ±Û ¾²±â Áö¿ì±â ÀÀ´ä±Û ¾²±â ±Û ¼öÁ¤ HP-UX Æ©´×  
BACKRUSH  À¯´Ð½º¸í·É  ´ÙÀ½  ÀÚ·á½Ç  Ascii Table   ¿ø°ÝÁ¢¼Ó  ´Þ·Â,½Ã°£   ÇÁ·Î¼¼½º   ½©
ÁöÇÏö³ë¼±   RFC¹®¼­   SUN FAQ   SUN FAQ1   C¸Þ´º¾ó   PHP¸Þ´º¾ó   ³Ê±¸¸®   ¾Æ½ºÅ°¿ùµå ¾ÆÀÌÇǼ­Ä¡