메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

성능 시험 방법론 - Workload 분석(1)

한빛미디어

|

2007-04-05

|

by HANBIT

19,574

제공 : 한빛 네트워크
저자 : 박성훈, 류성곤, 이원영
원문 : 프로젝트 성공을 결정짓는 성능 시험 방법론과 실무 5장 내용 중에서

시작하기에 앞서

컴퓨터 시스템의 성능 관리에 있어서 가장 어려운 작업중의 하나는 컴퓨터 시스템이 사용자로부터 요청 받은 작업을 처리하는 일의 양을 통계적으로 분석하는 활동, 즉 컴퓨터 시스템에 대한 Workload를 분석하는 활동입니다.

통상적으로 Workload 분석 활동은 과거 메인프레임 시절부터 컴퓨터 시스템에 대한 성능 기준선(Baseline)을 산정하기 위한 필수적인 활동으로 알려져 왔는데 여기에서 기준선이란 용어는 어떤 사물이나 현상을 비교할 때 사용되는 기준 수치를 의미하는 것으로 성능 관리의 경우에는 대상 시스템에 대한 성능 목표를 결정할 때 사용되는 기준치로 사용됩니다.

이러한 Workload 분석 과정은 앞장에서 소개해드린 성능 시험 방법론상에서 설계 프로세스의 현행 성능치 산정 활동으로 연계되는데 성능 시험을 위한 성능 기준선을 추출한다는 의미에서 성능 시험 진행 과정에 있어 매우 중요한 활동이라 볼 수 있습니다. 심지어 Workload 분석 활동이 결여된 성능 시험의 경우에는 수행 과정과는 무관하게‘그 결과는 의미가 없다’라고도 볼 수 있습니다.

그러면 이러한 중요한 의미를 담고 있는 Workload 분석 활동은 어떤 절차와 방법을 통해서 수행될까요? 통상적으로 각 컴퓨터 시스템에서 사용되고 있는 어플리케이션 및 사용자들이 업무를 사용하는 패턴이 모두 상이하기 때문에 표준화된 Workload 분석 절차 및 방법을 제공하는 것은 매우 어려운 과제입니다. 여기에서 각 어플리케이션의 Workload 분석 용도로 제공하는 사용자 요청 내역 및 서버 처리 내역 로깅(Logging) 데이터들을 응용하여 성능 기준선을 산정하기 위해서는 전문 분석 도구와 더불어 통계학, 성능 이론과 같은 전문 지식에 대한 깊은 이해가 필요하기 때문에 최근까지도 Workload 분석은 일부 고급 엔지니어들만의 전문 영역으로 여겨지고 있는 것이 현실입니다.

우리는 이 장에서 다년간 성능 시험 컨설팅 경험을 통해서 자체 개발한 Workload 분석 방법에 대해서 소개하고자 합니다. 이는 2장에서 소개해 드린 성능 이론에 근간을 두고 개발된 전문 분석 도구(부록 참조)를 이용하여 수행되는데, 어플리케이션 로깅(Logging) 데이터 분석 및 통계 지표 생성과 같은 Workload 분석을 위한 수행 과정들을 자동화 시켜 줍니다.

이 장에서 소개되는 Workload 분석 방법은 크게 웹 기반 시스템하에서의 Workload 분석 방법과 TP-Monitor 시스템하에서의 Workload 분석 방법으로 구분되는데, 분석 대상 어플리케이션 로깅 데이터만 상이할 뿐 기본적인 수행과정은 동일하게 구성되어 있습니다.

자 그럼 Workload 분석의 세계로 떠나볼까요?

1. Workload 정의

Workload에 대한 사전적인 의미를 찾아보면‘사람 또는 기계가 일정 시간 동안에 처리한 작업량’이라고 정의되어 있습니다. 이러한 정의에서 알 수 있듯이 Workload는 작업량에 대한 정량적인 표현 수단으로 사용될 수 있기 때문에 컴퓨터 시스템뿐만 아니라 다양한 분야에서 널리 사용되고 있는 일반적인 용어입니다.

그러면 컴퓨터 시스템에 대한 Workload는 어떻게 표현될 수 있을까요?


컴퓨터 시스템의 Workload도 앞에서 정의한 내용과 유사하게 단위 시간 동안에 컴퓨터 시스템에서 처리된 요청 건수로 표현되는데, 여기에서 단위 시간이라고 하면 측정 시간 간격을 의미하는 것으로 1초, 1분, 1시간, 1일 등으로 표현됩니다. 통상적으로 다른 시스템에 비해서 개별 업무별 처리 건수가 많지 않은 ERP 시스템의 경우는 단위 시간을 1시간 또는 1일로 사용하여 Workload를 시간당 처리 건수(TPH, Trans/Hour) 또는 일일 처리 건수(TPD, Trans/Day) 등으로 표 현하지만 업무별 처리 건수가 많은 메인프레임, 클라이언트/서버, TPMONITOR, 웹 기반 시스템들의 경우에는 단위 시간을 일 분으로 사용하여 분당 처리 건수(TPM, Trans/Min)로 표현하거나 이를 초로 환산하여 초당 처리 건수(TPS, Trans/Sec)로 표현합니다.

여기에서 주의할 사항은 어떠한 시스템의 경우에도 단위 시간 간격을 1초로 사용하지는 않는데 그 이유는 측정된 데이터에 대한 편차(평균값에서 측정값을 뺀 수치)가 너무 커지기 때문에 왜곡된 분석 결과치를 가져 올 수 있기 때문입니다.

다음의 [그림 5-1]은 단위 시간 간격에 따른 처리 건수의 분포를 표현한 그림인데, 단위 시간을 1분으로 셋팅 하였을 경우와 1초로 셋팅 하였을 경우의 처리 건수 현황을 비교하고 있습니다.


[그림 5-1] 단위 시간 간격에 따른 처리 건수 현황 비교

위의 그림에서 단위 시간을 1초로 셋팅 한 오른쪽 그래프의 경우 측정된 데이터에 대한 편차가 매우 크게 나타나는데 그 이유는 다름 아닌 단위 시간 간격이 너무 짧기 때문에 발생하는 것으로서 분석 결과치를 왜곡 시킬 수 있는 많은 이상치가 포함될 수 있습니다. 이러한 단위 시간 간격은 성능 시험 결과를 분석하는 경우에도 연관되는데, 즉 Workload 분석 과정상의 단위 시간과 성능 시험 결과 분석 과정상의 단위 시간을 모두 같은 단위(1분)로 사용하여야만 분석 데이터 왜 곡에 따른 오차를 줄일 수 있습니다.

다음의 [그림 5-2]는 성능 시험 결과 분석 시 단위 시간(Granularity)을 조정하는 과정을 보여주고 있는데, Workload 분석 과정상의 단위 시간과 동일하게 조정하시면 됩니다.


[그림 5-2] 성능 시험 결과 분석 시 단위 시간 조정

그럼 이것으로 Workload에 대한 소개는 마치고 Workload를 분석하는 절차에 대하여 알아보도록 하겠습니다.

2. Workload 분석절차

컴퓨터 시스템에 대하여 Workload를 분석하기 위한 작업의 절차는 다음과 같습니다.

① Workload 평가 항목(Workload Metric) 정의
② 기초 데이터 수집
③ 데이터 분석
④ Workload 결과 도출

Workload 평가 항목(Workload Metric) 정의

Workload 평가 항목은 대상 시스템의 작업량(Workload)을 기술할 때 사용되는 정량적인 수치로서 대상 시스템을 사용하고 있는 사용자 수에 따라 결정됩니다. 이러한 속성 때문에 시스템 리소스 사용량이나 어플리케이션의 응답 시간 등은 Workload 평가 항목으로 정의되지 않습니다.

다음의 [표 5-1]은 일반적으로 널리 사용되고 있는 Workload 평가 항목입니다.

평가 항목 유형 설명
시간당 처리 건수(TPH) 최대값 시간당 업무 요청에 따른 처리 건수의 최대값(TPH)
분당 최대 처리 건수(TPM) 최대값 분당 업무 요청에 따른 처리 건수의 최대값(TPM)
초당 최대 처리 건수(TPS) 최대값 분당 업무 요청에 따른 처리 건수의 최대값/60(초)
업무별 업무 가중치 백분율 Peak 시간에 대한 개별 업무별 요청 비율(%)
최대 동시 사용자 수 최대값 현재 시스템을 사용하고 있는 최대 사용자 수(명)
호출 간격 최대값 사용자가 시스템을 사용하는 시간 간격(초)
[표 5-1] Workload 평가 항목 정의

이들 Workload 평가 항목들은 측정 시점에 따라 모두 틀려지기 때문에 기본적으로 Peak 일자의 Peak 시간에 대한 Peak 부하를 표본으로 사용하고 있으며, 이런 이유 때문에 데이터 유형으로 최대값을 사용합니다.

다음의 [그림 5-3]은 Workload 선정 기준을 도식화한 그림으로 각 시간대별 시스템이 받는 부하 중에서 최고 지점(Peak 부하)을 기준으로 하고 있습니다.


[그림 5-3] Workload 선정 기준

앞서 정의된 각 Workload 평가 항목들은 성능 시험을 위한 성능 기준선으로 사용되는데 다음의 [표 5-2]는 각 평가 항목별 활용 방안에 대해서 소개하고 있습니다.

구분 추출 방법 활용 방안
시간당 최대 처리 건수 Peak 시간에 대한 총 처리 건수 Peak 시간 산정
분당 최대 처리 건수 Peak 시간에 대한 분당 최대 처리 건수 성능 목표 설정 시 기준치
초당 최대 처리 건수 분당 최대 처리 건수 / 60(초) 성능 목표 설정 시 기준치
업무별 업무 가중치 Peak 시간에 대한 업무별 처리 비율 업무별 가상 사용자 수 기준
최대 동시 사용자 수 Peak 시간에 대한 최대 동시 사용자 수 전체 가상 사용자 수 기준치
최대 호출 간격 최대 동시 사용자 수 / 초당 최대 처리 건수 평균 Think 시간 기준치
[표 5-2] Workload 평가 항목 활용 방안

시간당 처리 건수는 대상 시스템의 Peak 시간을 산정할 때 기준으로 사용되고, 분당 최대 처리 건수와 초당 최대 처리 건수는 성능 목표를 산정할 때 기준치로 사용됩니다. 또한, 업무별 업무 가중치의 경우 각 업무별로 가상 사용자 수를 결정할 때 사용되는 수치로서 이는 Peak 시간에 사용되었던 각 업무별 Main 동적 컨텐츠의 건수를 전체 합에 대한 백분율로 산정하여 표기합니다. 최대 동시 사용자 수는 성능 시험 도구의 가상 사용자 수를 결정할 때 기준이 되는 수치로 사용 되고, 호출 간격은 각 사용자가 마우스를 클릭한 순간부터 다음 마우스를 클릭할 때까지의 시간 간격, 즉 응답 시간과 Think 시간의 합을 의미하는 것으로 Think 시간을 설정할 때 기준치로 사용합니다.

기초 데이터 수집

대부분의 컴퓨터 시스템들은 사용자 요청 내역 및 서버 처리 내역을 파일 형태의 기록으로 로깅(Logging)하게끔 미리 구성되어 있습니다. 일반적으로 이들 로깅 정보에는 클라이언트 접속 시간, 클라이언트 IP 주소, 클라이언트 사용자명, 호출된 프로그램명, 처리 결과, 처리 소요 시간 등이 포함되어 있어서 Workload를 분석할 때 매우 유용하게 사용할 수 있습니다.

다음의 [표 5-3]은 일반적으로 널리 사용되고 있는 각 시스템별 기초 데이터 유형입니다.

시스템 유형 기초 데이터 비고
웹 기반 시스템 웹 로그 웹 로그 분석 도구 활용
TP-MONITOR 시스템 Tmadmin 관리 콘솔 로그 쉘 스크립트 분석 도구 활용
ERP 시스템 CCMS(SAP), Statspack(Oracle) 자체 분석 도구 활용
[표 5-3] 각 시스템별 기초 데이터 유형

이들 중에서 웹 기반 시스템의 경우는 웹 서버가 제공하는 웹 로그를 이용하여 분석하는 것으로서 이 책의 부록으로 제공되는 Workload Modeler 도구를 이용하면 각종 Workload 분석 결과를 별도의 수작업 없이 제공 받을 수 있습니다.

TP-MONITOR 시스템의 경우는 관리 콘솔(TUXEDO/TMAX의 경우 tmadmin)상에 보여지는 각종 통계 현황들을 수집하여 분석하는 것으로서 이 책의 부록으로 제공되는 쉘 스크립트와 TP-MONITOR Modeler 도구를 이용하면 기초 데이터 수집 및 분석을 자동화하여 각종 Workload 분석 결과를 손쉽게 제공받을 수 있습니다. ERP 시스템의 경우는 각 벤더별로 자체적으로 제공하는 도구들을 이용하여 분석하시면 됩니다.

데이터 분석

기초 데이터를 이용한 데이터 분석 방법은 통상 접속 시간대별 클라이언트 정보(IP, 클라이언트명, 사용자 아이디 등)를 분석하여 단위 시간당 시스템에서 처리한 건수를 집계하게 됩니다. 이러한 데이터 분석 과정은 일반적으로 다음의 [표 5-4]와 같은 절차를 통해서 결과가 생성됩니다.

구분 작업 과정 Output
단계 1 시간당 요청 처리 건수 현황 집계 Peak 시간의 최대 TPH
단계 2 분당 처리 건수 현황 집계 Peak 시간의 최대 TPM
단계 3 Peak 시간의 최대 TPM/60초 Peak 시간의 최대 TPS
단계 4 동시 사용자 수 현황 집계 Peak 시간의 최대 동시 사용자
단계 5 최대 동시 사용자/최대 TPS Peak 시간의 최대 호출 간격
단계 6 시간당 업무별 요청 처리 건수 현황 집계 Peak 시간의 각 업무별 가중치
[표 5-4] 데이터 분석 절차

데이터 분석 과정에서 단계 1은 기초 데이터를 분석하여 각 시간대별로 요청 처리 건수 누적 현황을 분석하여 가장 많이 요청 처리된 시간을 알아낼 수 있는데 이 시간을 Peak 시간으로 정의하고, 이 때 당시의 시간당 요청 처리 건수 현황집계를 최대TPH로 기록합니다.

단계 2는 Peak 시간의 각 분당 요청 처리 건수 누적 현황을 분석하여 가장 많이 요청 처리된 시간을 알아낼 수 있는데 이러한 분을 Peak 분으로 정의하고, 이때 당시의 분당 요청 처리 건수 현황 집계를 최대 TPM으로 기록합니다. 단계 3은 단계 2에서 기록된 TPM 수치를 60초로 나누어 최대 TPS로 기록합니다. 단계 4는 Peak 시간의 최대 동시 사용자 수 현황을 기록합니다. 단계 5는 Peak 시간의 최대 호출 간격을 구하기 위해서 최대 동시 사용자 수를 최대 TPS로 나누어 최대 호 출 간격으로 기록합니다. 마지막 단계 6은 Peak 시간에 요청된 각각의 업무 어플리케이션의 호출 건수를 전체 합으로 나누어 백분율을 구한 다음 기록합니다.

데이터 분석의 경우는 대상 시스템별로 조금씩의 차이가 생길 수 있기 때문에 차후 웹 기반 시스템하에서의 Workload 분석, TP-MONITOR 기반 시스템하에서의 Workload 분석 편에서 다시 한 번 소개해 드리도록 하겠습니다.

Workload 결과 도출

일련의 분석 과정을 통하여 생성된 Workload 결과치는 측정 시점에 대한 현황 데이터이기 때문에 이를 대상 시스템에 대한 절대 기준치로 보기에는 다소 무리가 있습니다. 또한, 분석된 Workload 결과치는 측정된 대상 시스템에만 적용되는 기준 데이터로서 이를 타 시스템과 절대 비교 대상으로 사용하면 안됩니다.

일반적으로 컴퓨터 시스템의 성능과 관련하여 가장 범하기 쉬운 실수로서 운영 중인 시스템에 대한 Workload 결과치를 가지고“우리 시스템의 TPS가 더 높게 측정되었기 때문에 우리 시스템이 더 사용자가 많습니다”, 또는“우리 시스템의 동시 사용자 수가 더 많기 때문에 우리 시스템이 더 인기가 있습니다”라는 형태와 같이 다른 고객 시스템에 대하여 절대 비교의 용도로 사용하곤 합니다. 하지만 Workload는 각 시스템에서 처리하고 있는 업무 특성 및 시스템을 사용하고 있는 사용자 특성 그리고 어플리케이션의 구성 방법 등과 같은 무수히 많은 변수에 영향을 받기 때문에 절대 비교의 대상이 될 수 없습니다.

다음의 [그림 5-4]는 Workload Modeler 도구를 통하여 분석된 Workload 결과치를 보여주고 있는데 앞서 정의된 각 Workload 평가 항목별로 분석된 수치들이 기술되어 있습니다.


[그림 5-4] Workload 분석 결과

이러한 Workload 분석 결과는 주기적으로 장기간 동안 수집하여 분석할 경우 대상 시스템의 요청량/작업량 또는 동시 사용자 증가 추이를 예측할 때 기준 데이터로도 활용될 수 있습니다. 이에 대한 자세한 내용은‘7장 용량 계획’편에 소개되어 있습니다.
TAG :
댓글 입력
자료실

최근 본 상품0