사용자 도구

사이트 도구


service:was:weblogic:wltunning

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
마지막 판 양쪽 다음 판
service:was:weblogic:wltunning [2007/04/04 10:28]
starlits
service:was:weblogic:wltunning [2007/05/03 14:36]
starlits
줄 12: 줄 12:
 ulimit -Sn 8192 ulimit -Sn 8192
 </code> </code>
 +
 +
  
 ===== OS Kernel Tuning ===== ===== OS Kernel Tuning =====
줄 22: 줄 24:
 net.ipv4.tcp_max_syn_backlog = 8192 net.ipv4.tcp_max_syn_backlog = 8192
 </code> </code>
 +  - 필요에 따라 다음 커널 값들을 수정(/etc/sysctl.conf)한다.(정확히 알지 못한다면 수정하지 말것.) <code>
 +# weblogic + apache2 (testing)
 +## net.ipv4.tcp_keepalive_time = 7200
 +## net.ipv4.tcp_keepalive_intvl = 75
 +## net.ipv4.tcp_keepalive_probes = 9
 +#
 +net.ipv4.tcp_fin_timeout = 15
 +net.ipv4.tcp_keepalive_time = 60
 +net.ipv4.tcp_keepalive_intvl = 60
 +net.ipv4.tcp_keepalive_probes = 1
  
 +</code>
  
-===== WebLogic Tuning =====+===== WebLogic Setting ===== 
 +  * JDBC Connection Pool > Connections 설정에 **Test Reserved Connections** 옵션을 체크한다. 
 +    : DB 연결이 끊어지고 다시 연결할때 DB 접속을 시도하는 옵션이다. \\ 이 옵션이 체크되어 있지 않은 상태에서 DB 연결이 끊어지고 나면 DB 연결을 더 이상 하지 않는다. 
 +  * Services > JMS > Connection Factories > cgQueue 에서 **Target and Deploy** 에서 Independent Servers의 Target을 선택한다. 
 +    : 이 옵션을 선택하지 않으면 아래와 같은 에러가 나올 수 있다.<code> 
 +<2007. 3. 30. 오후 4시 24분 20초 KST> <Warning> <J2EE> <BEA-160082> <There was an error while making the initial  
 +connection to the JMS resource named weblogic.jws.jms.QueueConnectionFactory from the EJB "StatelessContainer"  
 +inside application "beflyt". The server will attempt the connection again later. The error was  
 +javax.jms.JMSException: [J2EE:160048]JNDI lookup of the JMS connection factory  
 +weblogic.jws.jms.QueueConnectionFactory failed: javax.naming.NameNotFoundException: While trying to  
 +lookup 'weblogic.jws.jms.QueueConnectionFactory' didn't find subcontext 'jws' Resolved weblogic; remaining  
 +name 'jws/jms/QueueConnectionFactory'> 
 +</code> 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 +===== Memory Tuning ===== 
 +  - JDK 변경 
 +    * weblogic을 설치하면 기본적으로 jrockit 과 Sun JDK 가 설치되어 있다. 하나를 선택한다면 Sun JDK를 선택하는 것을 권고한다. 
 +    * OS에서 제공하는 JDK가 있다면, OS 제공하는 JDK를 사용하는 것이 성능적으로 우수할 수 있다.
   - MEM_ARGS 옵션 변경 <code>   - MEM_ARGS 옵션 변경 <code>
 MEM_ARGS="-Xms1024m -Xmx1024m -XX:NewSize=367m -XX:MaxNewSize=367m -XX:PermSize=128m -XX:MaxPermSize=128m -XX:SurvivorRatio=2" MEM_ARGS="-Xms1024m -Xmx1024m -XX:NewSize=367m -XX:MaxNewSize=367m -XX:PermSize=128m -XX:MaxPermSize=128m -XX:SurvivorRatio=2"
 JAVA_VM="-server" JAVA_VM="-server"
 </code> </code>
-  - JDK 변경 + 
-    * weblogic을 설치하면 기본적으로 jrockit 과 Sun JDK 가 설치되어 있다. 하나를 선택한다면 Sun JDK를 선택하는 것을 권고한다. +===== Servers/JDBC Tuning ===== 
-    OS에서 제공하는 JDK가 있다면, OS 제공하는 JDK를 사용하는 것이 성능적으로 우수할 수 있다.  + 
-  - Development and Production Startup Mode Tuning Defaults  +  * 서버 설정값 Development and Production Startup Mode Tuning Defaults
  
 ^ Tuning Parameter ^ Development Mode Default ^ Production Mode Default ^ ^ Tuning Parameter ^ Development Mode Default ^ Production Mode Default ^
 | Execute Queue: ThreadCount | 15 threads | 25 threads | | Execute Queue: ThreadCount | 15 threads | 25 threads |
 | JDBC Connection Pool: MaxCapacity | 15 connections | 25 connections | | JDBC Connection Pool: MaxCapacity | 15 connections | 25 connections |
- + 
 +  * 현재 회사에서 운영중인 서버 설정 
 + 
 +^ location ^ Name ^ values ^ 
 +| JDBC Connection Pool: Connections | Initial Capacity | 25 |  
 +| JDBC Connection Pool: Connections | Maximum Capacity | 200 |  
 +| JDBC Connection Pool: Connections | Capacity Increment | 5 |  
 +| Servers: Execute Queue | Thread Count | 25 | 
 + 
 +  * Thread Count 와 JDBC Connection Pool Count 는 일치시켜 주는 것이 성능상 좋다. 
 + 
 +  * [{domain}] - [Servers] - [{server name}] - 'Configuration' - 'Tuning' 
 +    - **MSI File Replication Enabled** : 서버가 시작될때 어드민 콘솔에 접근이 안되면 이전 MSI 값으로 기동된다. \\ NoStage 모드일때 적절한 값이다. 
 + 
 +  * [{domain}] - [Services] - [JDBC] - [Connection Pools] - 'Configuration' - '{Pool Name}' - "Configuration' - 'Connections' - 'Advanced Options' 
 +    - **Allow Shrinking** : 'Shrink Frequency(sec)'마다 JDBC Connection Pool을 확인하고 사용하지 않는 Pool은 연결해제시킨다. 
 +    - **Enable Connection Leak Profiling** : JDBC Connection leak을 수집, 해결한다. 
 +    - **Test Reserved Connections** : 'Test Table Name'에 있는 쿼리로 JDBC Connection Pool을 확인한다. 
 +    - **Connection Reserve Timeout** : The number of seconds (between -1 and a positive 32-bit integer) after \\ which a call to reserve a connection from the pool will timeout. \\ When set to 0, a call will never timeout. \\ When set to -1, a call will timeout immediately.  
 +    - **Connection Creation Retry Frequency** : DB가 연결이 되지 않은 상태에서 시작할 수 있으며, \\ 정해진 간격으로 체크하면서 DB가 연결되면 Pool을 생성한다. \\ 300초면 적당할 듯하다. 
 + 
 +Nostage -  
 +===== WebLogic + Apache2 Tuning =====
  
 ===== WebLogic Debug ===== ===== WebLogic Debug =====
줄 44: 줄 103:
 #   MEM_ARGS="-Xms512m -Xmx512m -verbosegc" (GC Memory Debug On) #   MEM_ARGS="-Xms512m -Xmx512m -verbosegc" (GC Memory Debug On)
 </code> </code>
- 
  
service/was/weblogic/wltunning.txt · 마지막으로 수정됨: 2007/05/03 14:42 저자 starlits