Sun ONE logo      이전      목차      색인      다음     

Sun ONE Portal Server 6.2 설치 설명서

4장
조정 Sun ONE Portal Server

이번 장에서는 Sun™ ONE Portal Server의 성능과 용량을 최적화하기 위한 구성 매개 변수를 설명합니다. Sun ONE Portal Server 와 번들로 구성된 perftune 스크립트(portal-server-install-root/SUNWps/bin 디렉토리에 있음)가 이번 장에서 논의하는 대부분의 조정 과정을 자동화합니다.


소개

perftune 스크립트:


조정 전략

perftune 스크립트를 실행할 때 최적 생산(Production Optimum) 및 대량 생산(Production Large)이라고 하는 두 가지 일반적 사용 시나리오에 대한 성능 조정 옵션이 주어집니다. 이들 시나리오는 대부분의 Sun ONE Portal Server 사용 패턴을 해결하도록 정의됩니다. 이러한 배포 시나리오의 특징을 다음과 같이 분류합니다.

예를 들어, B2E (business to enterprise) 포털에서 피크 시간에 상당히 많은 수의 회사 직원이 동시에 대량 생산 환경에서 포털에 연결합니다.


메모리 할당

JVM마다 할당하기 위한 대량의 메모리는 두 매개 변수에 의해 결정됩니다.

  1. CPU 당 물리 메모리의 최대 크기. E45* 등급 컴퓨터에서는 약 1 GB입니다.
  2. Sun ONE Portal Server 의 최적 성능과 확장성을 위해 CPU 당 권장되는 인스턴스 수는 여전히 1:1입니다(CPU 당 하나의 인스턴스). 대량 생산의 경우, 이 비율은 2 GB의 최대 JVM 힙 크기를 허용하는 1:2 (2개 CPU 당 하나의 인스턴스)입니다.

조정 노력의 원동력인 JVM 성능 매트릭스에는 아래 정의한 것처럼 처리속도, 크기 및 응답성이 있습니다. 두 번째, 세 번째 및 네 번째 열은 각각 최적 생산과 대량 생산 환경에 대한 처리속도, 크기 및 응답성 부분에서 성능 수준을 보여줍니다.

 

처리속도

크기

응답성

최적 생산

높음

덜 중요

높음

대량 생산

덜 중요

낮음

덜 중요

여기서


조정 지침

perftune 스크립트를 실행할 때 다음 조정 권장사항을 실행할지 여부를 지정할 수 있습니다. 권장사항을 자세히 검토하고 perftune 스크립트를 사용하여 권장된 대로 수정하십시오.

perftune 스크립트를 실행하려면

  1. 컴퓨터에 로그인하고 수퍼 유저가 됩니다.
  2. 이 스크립트를 실행하려면 루트 액세스가 필요합니다.

  3. 디렉토리를 portal-server-install-root/SUNWps/bin으로 변경합니다.
  4. 다음을 입력합니다.
  5. ./perftune.

perftune 스크립트가 조정 과정 중에 서버를 시작하고 중단시키는 작업을 수행합니다. 이 스크립트는 filename-orig-date-pid 형식으로 수정된 파일의 백업 복사본을 만듭니다. 스크립트 실행 후 재부팅하여 조정 내용이 적용되도록 합니다.

Solaris 조정

커널 조정

스크립트는 /etc/system 파일에 다음 설정자를 추가합니다.

TCP 매개 변수 조정

/dev/tcp에서 TCP 매개 변수(괄호 내에 표시)에 대한 변경에는 다음이 포함됩니다.

시스템을 재부팅했을 때 ndd 명령이 자동으로 실행되도록 perftune 스크립트는 S99ndds_tcp 파일을 /etc/rc2.d/ 디렉토리로 복사합니다.

Sun ONE Identity Server 조정

Directory Server 연결 풀

portal-server-install-root/SUNWam/config/ums/serverconfig.xml 파일이 다음과 같이 변경되었습니다.

LDAP 인증 서비스

LDAP 인증

Sun ONE Identity Server 서비스 구성 매개 변수

portal-server-install-root/SUNWam/lib/AMConfig.properties 파일이 다음과 같이 변경되었습니다.

/opt/SUNWam/lib/AMConfig.properties 파일의 다음 스레드 풀 등록 정보가 Sun ONE Portal Server 6.2에서 노출됩니다.

Sun ONE Directory Server 조정

Sun™ ONE Directory Server가 다른 응용프로그램에 의해 공유되는 경우, 이러한 매개 변수가 다른 응용프로그램의 매개 변수 조정과 충돌하지 않는지 확인해야 할 수 있습니다.

/tmp/slapd-DSinstance1에 충분한 가상 메모리 공간이 제공되어야 하며 페이징을 방지하기 위해 데이터베이스 캐싱을 위한 할당분을 포함하여 사용된 총 메모리 양은 물리적 메모리 크기를 초과하지 않아야 합니다. 어떤 경우에도, slapd 프로세스 자체에 사용된 nsslapd-dbcachesize + nsslapd-cachememsize + fixed memory의 누적 값은 4 GB의 프로세스 주소 공간을 초과할 수 없습니다. Nslapd 는 32비트 응용프로그램입니다.

리소스 풀링(연결 및 스레드)의 크기 조정과 관련하여 Sun ONE Directory Server 는 각 작동 유형에 대해 약 15의 동시 수준으로 최상의 성능을 제공합니다.

perftune 스크립트는 /var/opt/mps/serverroot/slapd-hostname/config/dse.ldif 파일에서 ns-slapd 스레딩, db cache 및 데이터베이스 파일 시스템 매핑을 다음과 같이 조정합니다.

Sun ONE Web Server 6.0 조정

다음은 최적 생산과 대량 생산 환경에서 Sun ONE Portal Server 성능을 위해 Sun™ ONE Web Server를 쉽게 조정하도록 perftune 스크립트가 제공하는 JVM 조정을 설명합니다.

최적 생산의 경우

힙 크기

힙 크기는 주의가 필요한 가장 중요한 옵션입니다. 이들 매개 변수에 대한 자세한 내용은 Sun ONE Web Server 조정 설명서를 참고하십시오. perftune 스크립트:

  1. web-server-install-root/SUNWwbsvr/https-hostname/config에 있는 magnus.conf에서 다음을 지정합니다.
    • RqThrottle 256
    • StackSize 393216
    • ThreadIncrement 20
    • ConnQueueSize 20000
  2. web-server-install-root//https-/hostname//config에 있는 web-apps.xml 파일에서 다음(굵게 나타낸 수정 사항)을 지정합니다. 즉,
    • web-app 태그 위에서 다음 세션 관리를 정의합니다.
    •     <session-manager class="com.iplanet.server.http.session.IWSSessionManager>

            <init-param>

              <param-name>maxSessions</param-name>

              <param-value>50000</param-value>

            </init-param>

            <init-param>

              <param-name>timeOut</param-name>

              <param-value>360</param-value>

            </init-param>

            <init-param>

              <param-name>reapInterval</param-name>

              <param-value>180</param-value>

            </init-param>

          </session-manager>

    • 예상되는 동시 세션 수가 이 값을 초과하는 경우 maxSession (기본값 50000)을 증가시킵니다.
    • 클래스 재로드 간격을 5분으로 정의합니다(기본값 30초).
    •     <class-loader classpath="[...]" delegate="false" reload-interval="300"/>

  3. JVM 조정을 위해 web-server-install-root//https-/hostname//config에 있는 server.xml 파일에서 다음을 지정합니다.
    • jvm.minHeapSize=1073741824
    • jvm.maxHeapSize=1073741824
    • jvm.option=-Xrs
    • jvm.option=-server
    • jvm.option=-XX:MaxPermSize=128M
    • jvm.option=-XX:PermSize=128M
    • jvm.option=-XX:+OverrideDefaultLibthread
    • jvm.option=-XX:MaxNewSize=256M
    • jvm.option=-XX:NewSize=256M
  4. 대체 T2 libthread에 대해 start-jvm 파일에서 다음을 지정합니다.
  5.    NSES_JRE_RUNTIME_LIBPATH=/usr/lib/lwp:${NSES_JRE}/lib/sparc/server:${NSES_ JRE}/lib/sparc:${NSES_JRE}/lib/sparc/classic:${NSES_JRE}/lib/sparc/native_ threads;export NSES_JRE_RUNTIME_LIBPATH

대량 생산의 경우

  1. web-server-install-root/SUNWwbsvr/https-hostname/config에 있는 magnus.conf에서 다음을 지정합니다.
    • RqThrottle 256
    • StackSize 131072
  2. web-server-install-root//https-/hostname//config에 있는 web-apps.xml 파일에서 다음을 지정합니다.
    • 웹 응용프로그램 태그 위에서 다음과 같이 세션 관리자를 정의합니다.
    •     <session-manager class="com.iplanet.server.http.session.IWSSessionManager>

            <init-param>

              <param-name>maxSessions</param-name>

              <param-value>50000</param-value>

            </init-param>

            <init-param>

              <param-name>timeOut</param-name>

              <param-value>360</param-value>

            </init-param>

            <init-param>

              <param-name>reapInterval</param-name>

              <param-value>180</param-value>

            </init-param>

          </session-manager>

    • 예상되는 동시 세션 수가 이 값을 초과하는 경우 maxSession (기본값 50000)을 증가시킵니다.
  3. JVM 조정을 위해 web-server-install-root//https-/hostname//config에 있는 server.xml 파일에서 다음을 지정합니다.
  4.   jvm.minHeapSize=1073741824

      jvm.maxHeapSize=2147483648

      jvm.option=-Xrs

      jvm.option=-server

      jvm.option=-XincGC

      jvm.option=-XX:+UseLWPSynchronization

      jvm.option=-XX:MaxPermSize=128M

      jvm.option=-XX:PermSize=128M

      jvm.option=-XX:+OverrideDefaultLibthread

      jvm.option=-XX:MaxNewSize=256M

      jvm.option=-XX:NewSize=256M

  5. 대체 T2 libthread에 대해 start-jvm 파일에서 다음을 지정합니다.
  6.    NSES_JRE_RUNTIME_LIBPATH=/usr/lib/lwp:${NSES_JRE}/lib/sparc/server:${NSES_ JRE}/lib/sparc:${NSES_JRE}/lib/sparc/classic:${NSES_JRE}/lib/sparc/native_ threads;export NSES_JRE_RUNTIME_LIBPATH


    참고

    JVM 메모리 힙 크기는 최소 1 GB, 최대 2 GB입니다. 연결된 사용자가 더 많은 공간을 이용할 수 있도록 새로운 세대는 최적 생산의 경우보다 비례적으로 더 작습니다.

    잠재적으로 이전 세대의 크기가 클 수 있어 GC 속도는 일시 중지가 길어지는 것보다 덜 중요하기 때문에 대량 생산에 증가적(또는 순서적) GC가 더 적합합니다.



    참고

    응용프로그램 서버 웹 컨테이너에 Sun ONE Portal Server 를 배포한 경우, 설정 스크립트는 Sun ONE Portal Server 가 설치된 응용프로그램 서버 인스턴스에 대한 JVM 최대 힙 크기와 최소 힙 크기를 128 MB로 변경합니다. 서로 다른 최소 및 최대 JVM 힙 크기를 사용하기 위해 Application Server의 관리 콘솔로 이동하여 선택한 최소 및 최대 JVM 힙 크기 값을 설정합니다.


Sun ONE Application Server 7.0 조정

Sun ONE Application Server 에 Sun ONE Portal Server 를 배포하는 경우 응용프로그램 서버 인스턴스에 대한 최소 및 최대 힙 크기가 설정됩니다.

Sun ONE Application Server 7.0에 권장되는 JVM 옵션은 J2SDK 1.4.1_01 및 1.4.2 모두의 경우에 다음과 같습니다.

서버용 컴퓨터가 4 GB의 물리 메모리만 수용할 수 있고 -Xms3072M 대신 -Xms2048M 값을 사용할 수 있는 경우, 4 GB의 물리 메모리에서 -Xms3072M이 설정되면 JVM이 시작되지 않습니다. 이 JVM 옵션은 perftune 스크립트에 의해 설정된 JVM 옵션을 무시합니다.

전체 JVM 매개 변수에 다음이 포함됩니다.

게이트웨이 신뢰성을 위해 추가 Sun ONE Application Server 매개 변수 설정

Secure Remote Access를 사용하여 최적의 성능을 얻으려면 다음과 같이 구현을 구성합니다.

  1. 응용프로그램 서버에 대한 알림 스레드 풀 크기를 설정하도록 identity-server-install-root/SUNWam/lib/configAmConfig.properties 파일을 수정합니다. 파일 맨 위의 다음 라인 바로 아래에
  2. Sun, Sun Microsystems, the Sun logo, and iPlanet

    * are trademarks or registered trademarks of Sun Microsystems,

    * Inc. in the United States and other countries.

    다음 라인을 추가하여 스레드 풀 크기를 200으로 설정합니다.

    /*Notification Thread Pool Size*/ com.iplanet.am.notification.threadpool.size=200

  3. 사용자 이름 amadmin과 설치 중에 입력한 비밀번호로 Portal Server 관리 콘솔에 로그인합니다.
  4. [보기] 메뉴에서 [서비스 관리]를 선택합니다.
  5. [SRA 구성]을 선택한 다음 [게이트웨이]를 선택합니다.
  6. 기본 서버를 선택하고 [편집]을 클릭합니다.
  7. [HTTP 연결 사용] 확인란을 선택합니다.
  8. [HTTP 포트] 필드에 80을 입력하고 [저장]을 클릭합니다.
  9. 브라우저의 웹 주소 필드에 http://fullservername:port를 입력하여 Sun ONE Application Server 관리 콘솔에 관리자(admin)로 로그인합니다. 기본 포트는 4848입니다. 설치에서 입력한 비밀번호를 사용하십시오.
  10. Identity 서버를 설치한 응용프로그램 서버 인스턴스를 선택합니다.
  11. [JVM 설정]을 클릭한 다음 [JVM 옵션]을 클릭합니다.
  12. [JVM 옵션] 필드에 다음 문자열을 입력합니다.
  13. -Dhttp.keepAlive=false

  14. [추가], [저장]을 차례로 클릭합니다.
  15. Portal Server를 설치할 응용프로그램 서버 인스턴스를 선택합니다.
  16. 오른쪽 창에 구성이 변경되었음이 나타납니다.

  17. [변경 내용 적용]을 클릭합니다.
  18. [재시작]을 클릭합니다.
  19. 응용프로그램 서버가 자동으로 다시 시작됩니다.
  20. 게이트웨이가 설치된 서버에서 /opt/SUNWps/bin/perf 디렉토리로 이동하고 다음을 입력하여 Secure Remote Access에 조정 매개 변수를 설정할 스크립트를 실행합니다.
  21. ./srapperftune

  22. 게이트웨이에 대한 알림 스레드 풀 크기를 설정하도록 identity-server-install-root/SUNWam/lib/configAmConfig.properties 파일을 수정합니다. 파일 맨 위의 다음 라인 바로 아래에
  23. Sun, Sun Microsystems, the Sun logo, and iPlanet

    * are trademarks or registered trademarks of Sun Microsystems,

    * Inc. in the United States and other countries.

    다음 라인을 추가하여 스레드 풀 크기를 200으로 설정합니다.

    /*Notification Thread Pool Size*/ com.iplanet.am.notification.threadpool.size=200

  24. /opt/SUNWps/bin 디렉토리로 이동하여 -Dhttp.keepAlive 옵션을 false로 설정하고 -Xms 및 -Xmx 힙 크기 옵션에 대한 설정을 증가시키도록 게이트웨이 파일을 수정합니다.
  25. 기본적으로, srapperftune 스크립트는 -Xms 및 -Xmx 힙 크기 옵션을 1024로 설정합니다. CMD 설정 옵션을 정의하는 라인에서 -Xms 및 -Xmx 옵션에 대해 정의된 기본값을 2048로 증가시키고 -Dhttp.keepAlive=false 문자열을 추가합니다. 예를 들어, 올바른 라인은 다음과 같습니다.

    CMD="$JAVA_HOME/bin/java -server -Xms2048M -Xmx2048M -XX:+OverrideDefaultLibthread -XX:ThreadStackSize=128 -XX:MaxPermSize=128M -XX:PermSize=128M -XX:MaxNewSize=256M -XX:NewSize=256M -Dhttp.keepAlive=false -classpath ${CLASSPATH} $DEFINES $PROXY_DEFINES $INSTANCE_DEFINES com.sun.portal.netlet.eproxy.EProxy"

  26. gateway.protocol 매개 변수를 http로 설정하고 gateway.port 매개 변수를 포트 80으로 설정하도록 다음과 같이 /etc/opt/SUNWps/platform.conf.default 파일을 수정합니다.
  27. gateway.protocol=http

    gateway.port=80

  28. 다음 명령을 입력하여 변경 내용이 적용되도록 게이트웨이를 다시 시작합니다.
  29. portal-server-install-root/SUNWps/bin/gateway -n default start

  30. 여기서 default는 설치 중에 만든 기본 게이트웨이 프로필입니다.

Sun ONE Portal Server 데스크탑 조정

최적 생산의 경우

대량 생산의 경우

caller 매개 변수는 제공자를 통해 컨텐트가 주어지도록 스레드 풀의 크기를 지정할 때 사용됩니다. 호출자 풀은 크기 0으로 초기화됩니다. 항목이 사용되고 반환되면서 풀에 추가됩니다. 호출자 풀은 매우 큰 크기로 확장될 수 있지만 일반적인 경우에 사용자의 포털 데스크탑에 있는 채널 수만큼만 커집니다. 같은 sid로 동시 스레드가 여러 개 있는 경우 풀이 n * m의 크기로 확장될 수 있습니다. 여기서 n은 같은 sid를 갖는 동시 스레드의 수이고 m은 주어진 sid에 대한 Portal Desktop에 있는 채널 수입니다.

perftune 스크립트는 /etc/opt/SUNWps/desktop/desktopconfig.properties 파일에서 제공자의 호출자 리소스 풀링을 최적화하기 위해 다음 매개 변수를 변경합니다.

장시간 테스트를 수행할 때 Portal Desktop 호출자 스레드의 작성으로 인해 불필요하게 메모리가 증가되는 것을 최소화하기 위해 다음 등록 정보(templateScanInterval은 예외)를 다시 원래 기본값으로 변경시켜야 합니다.

다음 등록 정보를 변경합니다.



이전      목차      색인      다음     


Copyright 2003 Sun Microsystems, Inc. 모든 권리는 저작권자의 소유입니다.