[AIX Solaris HP-UX Linux Windows]

대기열 구성 우수 사례

WebSphere® Application Server 큐 구성 방법이 있습니다. 데이터베이스 서버를 다른 시스템으로 이동하거나 더 강력한 자원(예: 추가 메모리가 포함된 빠른 CPU 세트)을 제공하면 시스템의 동적사항이 극적으로 변할 수 있습니다.

큐에 대한 네 가지 팁이 있습니다.
  • WebSphere Application Server 큐의 요청수를 최소화하십시오.

    일반적으로, 요청은 WebSphere Application Server에서 대기하는 대신 웹 서버의 앞에 있는 네트워크에서 대기합니다. 이 구성은 처리가 대기열 네트워크에 들어갈 준비가 된 요청만을 지원합니다. 위쪽으로 가장 멀거나 클라이언트에 가장 가까운 큐가 약간 더 크고 아래쪽으로 가장 멀거나 클라이언트에서 가장 먼 큐가 점진적으로 더 작도록 지정하십시오.

    업스트림 큐잉 네트워크
    큐잉 네트워크의 큐는 작업이 아래쪽으로 이동함에 따라 점점 작아집니다. 200개의 클라이언트 요청이 웹 서버에 도착하는 경우, 웹 서버는 75개의 동시 클라이언트를 처리하도록 설정되어 있으므로 125개의 요청은 네트워크 큐에 남게 됩니다. 75개의 요청이 웹 서버에서 웹 컨테이너로 전달되면, 25개의 요청이 웹 서버의 큐에 남고 나머지 50개는 웹 컨테이너에 의해 처리됩니다. 이 프로세스는 25명의 사용자 요청이 최종 대상인 데이터베이스 서버에 도달할 때까지 데이터 소스를 통해 진행됩니다. 각 포인트 업스트림에는 컴포넌트를 입력하려고 대기 중인 일부 작업이 있으므로, 이 시스템에는 작업이 도달하기를 기다려야 하는 컴포넌트가 없습니다. 요청의 대부분은 WebSphere Application Server의 외부 네트워크에서 대기합니다. 이러한 유형의 구성은 컴포넌트에 과부하가 걸리지 않으므로 안전성을 추가합니다.

    그런 다음, Edge Server를 사용하여 대기 중인 사용자를 WebSphere Application Server 클러스터의 다른 서버로 보낼 수 있습니다.

  • 시스템 성능이 극대화되었는지 판별하려면 처리량 곡선을 작성하십시오..

    의미있는 모든 코드 경로를 실습하거나 생산 애플리케이션을 사용하여 전체 생산 애플리케이션 경향을 나타내는 테스트 사례를 사용할 수 있습니다. 일련의 실험을 실행하여 시스템 성능이 완전히 압박되었을 때 또는 포화점에 도달했을 때를 판별하십시오. 애플리케이션에서 대부분의 병목 현상이 제거된 후에 이들 테스트를 시행하십시오. 이러한 테스트의 목표는 100% 가까운 CPU 이용율을 이끌어 내기 위한 것입니다. 시스템을 통한 최대 동시성을 위해 큰 대기열로 초기 기준선 실험을 시작하십시오. 예를 들어, 큐잉 네트워크의 각 서버(웹 서버, 웹 컨테이너 및 데이터 소스)에서 큐 크기를 100으로 하여 첫 번째 실험을 시작하십시오. 일련의 실험을 시작하여 각 실험 후에 동시 사용자 로드를 증가시켜서 처리량 그래프를 그리십시오. 예를 들어, 1, 2, 5, 10, 25, 50, 100, 150 및 200명의 사용자가 참여하는 실험을 수행하십시오. 각 실행 후에, 처리량(초당 요청 수)및 응답 시간(요청당 시간)을 기록하십시오. 기준선 실험 결과 곡선은 다음과 같이 표시된 일반 처리량 곡선과 유사합니다.

    처리량 곡선

    WebSphere Application Server 처리량은 총 시스템에 존재하는 동시 요청 수의 함수입니다. 로드가 적은 구역인 섹션 A는 동시 사용자 요청 수가 증가할 때 처리량이 요청 수에 거의 선형적으로 증가함을 표시합니다. 소용량 로드 시 WebSphere Application Server 시스템 큐 내에서는 동시 요청으로 인한 혼잡이 거의 발생하지 않습니다. 일부 지점에서 혼잡이 발생하기 시작하고, WebSphere Application Server 시스템에서 일부 병목 현상으로 판별되는 것처럼 최대 처리량 값을 나타내는 포화점에 이를 때까지 훨씬 더 낮은 비율로 처리량이 증가합니다. CPU 또는 보다 강력한 CPU를 추가하여 병목 현상을 수정하기 때문에 WebSphere Application Server 머신 CPU가 완전히 이용될 때 가장 잘 관리할 수 있는 유형의 병목 현상이 발생합니다.

    과도한 부하가 걸리는 구역 또는 섹션 B에서는 동시 클라이언트 부하가 증가해도 상대적으로 처리량은 일정한 수준을 유지합니다. 그러나 응답 시간은 사용자 로드에 비례하여 증가합니다. 과부하 구역에서 사용자 로드가 두 배가 되면 응답 시간도 두 배가 됩니다. 섹션 C(버클 구역)로 표시되는 일부 지점에서는 시스템 컴포넌트 중 하나가 고갈됩니다. 이제 처리량이 줄어들기 시작합니다. 예를 들어, 웹 서버의 네트워크 연결이 네트워크 어댑터 한계를 모두 소모하거나 요청이 파일 처리에 대한 운영 체제 한계를 초과하는 경우 시스템은 버클 구역에 들어갈 수 있습니다.

    CPU 이용률을 100%에 가깝게 구동함으로써 포화점에 도달하면 다음 단계로 이동할 수 있습니다. 시스템 이용률이 100%에 도달하기 전에 CPU 포화가 발생하는 경우 애플리케이션이 병목 현상을 악화시키고 있을 것입니다. 예를 들어, 애플리케이션이 Java 코드에서 과다한 가비지 콜렉션 병목 현상을 유발하는 Java 오브젝트를 작성 중일 수 있습니다.

    애플리케이션 병목 현상은 두 가지 방법으로 관리할 수 있습니다. 병목 현상 제거 또는 병목 현상 복제. 가장 좋은 방법은 제거하는 것입니다. Java 기반 애플리케이션 프로파일러(예: Rational Application Developer, Performance Trace Data Visualizer(PTDV), Borland의 Optimizeit, JProbe 또는 Jinsight)를 사용하여 전반적인 오브젝트 이용률을 확인할 수 있습니다.

  • 클라이언트에서 다운스트림을 이동시키는 동안 대기열 크기를 줄이십시오.

    처리량 포화점의 동시 사용자 수는 애플리케이션의 최대 동시성을 나타냅니다. 예를 들어, 애플리케이션이 사용자가 50명일 때 WebSphere Application Server를 포화 상태로 만드는 경우 48명의 사용자가 최상의 처리량과 응답 시간 조합을 제공할 수 있습니다. 이 값을 최대 애플리케이션 동시성 값이라고 합니다. 최대 애플리케이션 동시성은 WebSphere Application Server 시스템 큐를 조정하기 위한 기본 설정 값이 됩니다. 대부분의 사용자가 네트워크에서 대기하기를 원하므로 클라이언트에서 다운스트림으로 점점 이동하면서 큐 크기는 감소합니다. 예를 들어, 최대 애플리케이션 동시성 값이 48인 경우에는 웹 서버 75, 웹 컨테이너 50, 데이터 소스 45 값이 있는 시스템 큐로 시작할 수 있습니다. 최적의 설정을 찾기 위해 이 값을 약간씩 높이고 낮추면서 일련의 추가 실험을 수행하십시오.

    동시 사용자 수를 판별하는 데 도움을 얻으려면 Tivoli Performance Viewer의 Servlet 엔진 스레드 풀과 동시 활성 스레드 수 측정 규준을 보십시오.

  • 액세스 패턴에 대응하는 대기열 대기열을 조정하십시오.

    많은 경우에 하나의 대기열을 통해 전달되는 요청 부분만 다음 대기열 다운스트림에 들어갑니다. 정적 페이지가 많은 사이트에서는 다수의 요청이 웹 서버에서 이행되고 웹 컨테이너에는 전달되지 않습니다. 이 상황에서 웹 서버 큐가 웹 컨테이너 큐보다 상당히 커질 수 있습니다. 이전 예에서는 웹 서버 큐를 최대 애플리케이션 동시성 값에 가깝게 설정하지 않고 75로 설정했습니다. 서로 다른 컴포넌트가 상이한 실행 시간을 가질 때 비슷한 조정을 수행할 수 있습니다.

    예를 들어, 복잡한 서블릿에서 해당 시간의 90%를 소비하고 10%만 짧은 JDBC 조회에 사용하는 애플리케이션에서는 평균적으로 언제나 서블릿의 10%만이 데이터베이스 연결을 사용하고 있으므로, 데이터베이스 연결 큐는 웹 컨테이너 큐보다 상당히 작아질 수 있습니다. 역으로, 대부분의 서블릿 실행 시간이 데이터베이스의 복잡한 조회에 사용되는 경우, 웹 컨테이너와 데이터 소스 둘 다의 큐 값을 늘려보십시오. 항상 WebSphere Application Server와 데이터베이스 서버 둘 다에 대한 CPU 및 메모리 이용률을 모니터하여 CPU 또는 메모리가 포화되지 않는지 확인하십시오.


주제 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cprf_queuetip
파일 이름:cprf_queuetip.html