조사한 자료를 이용하여 시스템 용량을 산정 - OLTP/Batch/데이터베이스 서버, WEB/WAS 서버, 메모리 용량산정, 디스크 용량산정

CODEDRAGON Development/Software Engineering

반응형

 

 

 

조사한 자료를 이용하여 시스템 용량을 산정

수집 분석된 온라인 트랜잭션 처리(OLTP: Online Transaction Processing), WEB/WAS 기초 자료 조사 항목의 값을 시스템 용량산정 엑셀 파일에 입력하여 CPU, 메모리, 디스크 용량을 계산합니다.

 

 

 

 

용량산정

·         CPU 산정

·         OLTP/Batch/데이터베이스 서버

·         CPU 용량 산정 - OLTP/Batch/DB 서버

·         CPU 용량 산정 - WEB/WAS 서버

·         메모리 용량산정

·         디스크 용량산정

 

 


 

 

 

CPU 산정

H/W 구성요소 CPU 산정 대상 시스템에 따라 산정 기준 적용이 달라집니다.

 

산정 대상 시스템 산정 기준
WEB이나 WAS 서버 쓰이는 경우 WEB / WAS 산정기준 적용
DB 서버 쓰이는 경우 OLTP 또는 OLTP & BATCH 애플리케이션 산정기준 적용

 

  

 

  

 

OLTP/Batch/데이터베이스 서버

·         OLTP 또는 OLTP & BATCH 애플리케이션을 위한 서버의 규모산정을 위한 TpmC 추정에는 여러 가지 방법이 존재합니다.

·         어떤 서비스를 제공하는 시스템인가?, 어떤 시스템 아키텍처를 사용하는가? , 어떤 기종을 사용하는가? 따라 산정 방식이 달라집니다.

 

 

온라인 트랜잭션 처리(OLTP: Online Transaction Processing)/일괄작업(Batch)/데이터베이스 서버의 CPU 용량을 산정하기 위한 상세 내용은 [20.01.02.응용SW엔지니어링_01_요구사항확인_시스템 용량 산정 방법 상세내용 발췌] 첨부파일을 참조합니다.

 

 

  

 

CPU 용량산정 - OLTP/Batch/DB 서버

 

OLTP/Batch/DB 서버 산정 절차

구체적인 CPU 용량 산정 절차는 아래와 같습니다.

 

 

 

CPU 용량 산정 방법

CPU 용량을 산정하는 경우 OLAP, BATCH, DB 서버는 지표를 활용하여 산정합니다.

 

CPU (tpmC단위) =
분당 트랜잭션 X 기본 tpmC 보정  X 피크타임 부하 보정 X
DB 크기 보정 X 애플리케이션 구조 보정 X
애플리케이션 부하 보정 X 클러스터 보정 X 시스템 여유율 / 시스템목표활용율

 

구분 산정항목 내용 적용범위 일반값
1 분당 트랜잭션 산정 대상 서버에서의 분당 트랜잭션 발생
추정치의
- 업무 : 2
업무당 트랜잭션 :
4~6
2 기본 tpmC 보정 실험환경에서 측정한 tpmC 수치를 복잡한
실제 환경에 맞게 적용하기 위한 보정
- 5
3 피크타임 부하
보정
업무가 과중한 시간대에 시스템이
원활하게 운영될 있도록 피크타임을
고려한 보정
1.2 ~ 1.5 1.3
4 DB 크기 보정 데이터베이스 테이블의 레코드 건수와
전체 데이터베이스 볼륨을 고려한 보정
1.5 ~ 2.0 1.7
5 애플리케이션
구조 보정
애플리케이션의 구조와 요구되는 응답
시간에 따른 성능 차이를 감안한 보정
1.1 ~ 1.5 1.2
6 애플리케이션
부하 보정
온라인 작업을 수행하는 피크타임에
배치 작업 등이 동시에 이루어지는 경우를
감안한 보정
1.3 ~ 2.2 1.7
7 클러스터 보정 클러스터 환경에서 장애발생 시를
대비한 보정
2-NODE :
1.4 ~ 1.5
3-NODE :
1.3
-
8 시스템 여유율 예기치 못한 업무의 증가 등을 위한 여유율 - 1.3
9 시스템목표
활용율
시스템의 안정적인 운영을 전제로
CPU활용율
- 0.7

 

 

 

  

tpmC

https://codedragon.tistory.com/9042

 

tpmC

tpmC ·         분당 트랜잭션 C형 (transaction per minute type C) ·         TPC-C 벤치마크 시나리오에 대한 1분당 최대 처리 건수를 나타내는 수치입니다. ·         DB기반 OLTP..

codedragon.tistory.com

 

 

  

CPU 용량 산정을 위한 산정 기준의 차이점

·         CPU 용량산정을 위한 H/W벤더 혹은 SI업체의 산정항목이나 지표 혹은 보정치가 다릅니다.

·         지표나 보정치의 경우 용량 산정을 수행하는 시스템 설계자의 경험에 따라 부여하는 값이 달라질 있습니다.

·         동일한 시스템 환경에 대해서 많은 차이를 보일 있습니다.

·         tpmC 값은 현장에서는 유사 성능 측정지표에 보정치를 곱하여 적용합니다.

 

 

 

  

트랜잭션 구하기

·         기존 운영 중인 시스템에 대한 트랜잭션을 연간, 월간 단위로 조사하고 이를 분당 트랜잭션으로 변환하여 이용합니다.

·         연간 월간 트랜잭션은 애플리케이션을 사용하고 있는 기존 시스템에서 이미 조사된 수치를 가지고 습니다.

·         트랜잭션이 일어나는 일수 시간을 산정의 첫번째 단계 고려합니다.(트랜잭션이 1개월간 30 내내 일어나는가?, 토ㆍ일요일을 20일간에 일어나는가?, 1 8시간 동안 일어나는가? 또는 24시간 내내 일어나는가? )

 

[트랜잭션 구하기 예시]

A기관은 현존하는 MIS 시스템을 업그레이드하여 개발하고자 합니다.

 

기존 시스템 분석 현재 일별 업무처리 건수는 19,000
 
연간 15% 증가를 예상
 
향후 개발되는 시스템의 운영 연한을 5년으로 가정
신규 개발 시스템 일별 업무처리 건수는 38,215 (19,000×1.15×1.15×1.15×1.15×1.15)
 
, 오전 10 ~ 11 업무처리 건수의 30% 이루어진다고 가정
피크타임을 고려한 분당 업무처리 건수는 192
(38,215×0.3 / 60 발생)
 
업무 1건당 7건의 트랜잭션을 발생시킨다고 가정
분당 트랜잭션 수는 1,344
(분당 업무처리건수×업무 건당 트랜잭션 = 192×7)

 

 

 

 

  

WEB/WAS 서버 - CPU 용량 산정

  

구체적인 CPU 용량 산정 절차

CPU 용량을 산정하는 경우 WEB, WAS 서버에 대하여 지표를 활용하여 산정합니다.

 

 

 

CPU 용량 산정 방법

CPU(OPS단위) =
동시 사용자 X 사용자당 오퍼레이션 X
업무 용도 보정 X 인터페이스 부하 보정 X
피크타임 부하 보정 X 클러스터 보정 X 시스템 여유율 / 시스템목표활용율

   

구분 산정항목 내용 적용범위 일반값
1 동시 사용자 소프트웨어나 시스템을 네트워크 상에서
동시에 사용하는 사용자
- 산정값
2 사용자당
오퍼레이션
사용자 사람이 초당 발생시키는
오퍼레이션
3 ~ 6 5
3 기본 OPS 보정 실험환경에서 측정한 ops 수치를 복잡한 실제
환경에 맞게 적용하기 위한 보정
- 3
4 업무 용도 보정 적용대상 시스템 유형에 따른 보정치 - WEB : 0.7
WAS : 2
5 인터페이스
부하 보정
서버가 타서버와 통신하게
인터페이스에서 발생하는 부하를 고려한 보정
1.1 ~ 1.2 1.1
6 피크타임
부하 보정
갑자기 많은 접속으로 인해 부하가 발생하는
것을 해결하기 위한 보정
1.2 ~ 1.5 1.3
7 클러스터 보정 클러스터 환경에서 장애발생시를 대비한
보정(노드수에 따른 적용)
2-NODE :
1.4 ~ 1.5
3-NODE :
1.3
-
8 시스템 여유율 시스템의 안정된 운영을 위한 보정 - 1.3
9 시스템목표활용율 시스템의 안정적인 운영을 전제로 CPU
활용율
- 0.7

 

  

[동시 접속자 구하기 예시]

전국민을 대상으로 하는 서비스 예상 가입자 수는 전체 인터넷 사용자 수를 감안하여 100만명을 가정합니다.

 

·         동시접속자 수는 전체 사용자의 1% 가정(10,000)
·         트랜잭션을 발생시키는 동시사용자 수는 동시접속자 (10,000) 10% 1,000명으로 산정

 

 

사용자별 오퍼레이션

적용값 설명
3 WEB서서비스 위주 업무
(복잡한 응용로직이 아닌 조회위주의 업무를 의미함)
4 WEB서비스와응용로직혼합되어있으나웹서비스위주업무
5 WEB서비스와 응용로직
6 응용로직 위주의 업무

 

 

  

[업무용도 보정 예시]

정대상이 WEB 서버, WAS 서버 시스템 유형에 따라 다른 보정치를 적용합니다.

WEB 서버와 WAS 서버의 업무 부하에 대한 상대적 차이를 반영하여  WEB 서버인 경우 0.7, WAS 서버인 경우 2 적용합니다.

 

WEB 서버 0.7
WAS 서버 2

 

 

  

[피크타임 부하 보정 예시]

구분 적용값 설명
1.5 특정시간이나 특정일에 매우 과도한 부하가 걸리는 경우
1.4 특정한 마감일에 과도한 부하가 걸리는 경우
1.3 특정 시간대에 매일 혹은 매주 피크타임이 있는 경우
기타 1.2 피크타임이 존재하나 부하 차이가 존재하지 않는 경우

  

WEB/WAS 서버의 CPU 용량을 산정하기 위한 상세 내용은 [20.01.02.응용SW엔지니어링_01_요구사항확인_시스템 용량 산정 방법 상세내용 발췌] 첨부파일을 참조합니다.

 

 

 

 

 

메모리 용량산정

·         메모리의 규모산정 방법은 CPU 비해 훨씬 간단합니다.

·         구축하는 시스템별로 프로그래밍 언어나 쓰레드 사용 다양한 방법에 의해 메모리 점유를 줄이기 위한 전략을 사용합니다.

·         규모산정 방법에는 조금씩 차이가 있습니다.

·         시스템에서 구동되는 프로세스의 수와 프로세스가 사용하는 메모리 양이 메모리 산정에 영향을 줍니다.

 

·         기준 지침에는 프로그래밍 언어나 쓰레드 사용, 특정 시스템에 대한 메모리 구성 특성의 반영 등을 고려하지 않습니다.

·         일반적인 시스템의 용도와 구조를 바탕으로 메모리 규모를 산정합니다.

  

 

메모리 용량산정 절차

 

  

항목의 적용 범위

·         산정식의 적용 해당 항목의 적용가능한 값의 범위를 나타냅니다.

·         일반값은 구체적인 조건을 알지 못하는 경우 산정자(용량 산정을 수행하는 수행자) 가장 일반적으로 적용할 있는 값을 의미합니다.

·         산정자는 대부분 주어진 입력값 범위 내에서 적용이 가능합니다.

 

  

메모리 용량 산정 방법

메모리 (MB단위) =
(시스템 영역 + (사용자당 필요 메모리 X 사용자 ) + 미들웨어 버퍼캐쉬 메모리)
X 버퍼캐쉬 보정 X 시스템 여유율

  

구분 산정항목 내용 적용범위 일반값
1 시스템 영역 OS, DBMS 엔진, 미들웨어 엔진, 기타 유틸리티
등의 소요공간
- 산정값
2 사용자당
필요 메모리
애플리케이션, 미들웨어, DBMS 사용에 필요한
사용자당 메모리
1MB~3MB 2MB
3 동시사용자 소프트웨어나 시스템을 네트워크 상에서 동시에
사용하는 사용자
- 산정값
4 OS 버퍼캐쉬 보정 처리 속도를 향상시키기 위해 일정량의 데이터를
임시로 모아 놓은 기억장소를 위한 보정
1.1 ~ 1.3 1.15
5 미들웨어
버퍼캐쉬
메모리
DBMS 공유메모리, WAS heap size
미들웨어에서 사용하는 캐쉬영역
- 산정값
6 시스템 여유율 시스템의 안정된 운영을 위한 보정 - 1.3

 

  

서버의 메모리를 산정하기 위한 상세 내용은 [20.01.02.응용SW엔지니어링_01_요구사항확인_시스템 용량 산정방법 상세내용 발췌] 첨부파일을 참조합니다.

 

 

 

  

디스크 용량산정

·         디스크 규모산정 가장 중요한 고려요소는 데이터 백업 방안입니다.

·         백업정책에 의해 디스크 요구량은 차이를 가지기 때문에 데이터의 중요도를 고려하여 상황에 적절한 백업 정책을 수립할 필요가 있습니다.

·         데이터 백업을 수행하기 위한 여러 방법과 도구가 존재합니다.

·         시스템 자체적으로 백업정보를 보관합니다.

·         테이프와 같은 보조 기억장치를 사용하는 이중 백업정책 사용합니다.

·         데이터의 신뢰성과 안정성이 절대적으로 필요한 경우 디스크 미러링 같은 시스템 전체 백업 방안도 유용합니다.

·         디스크 용량에 포함되는 백업요소 가장 일반적인 규모산정 방안을 기술합니다. (DBMS에서 제공되는 Archive 백업, 하드웨어적인 RAID 디스크 사용에 의한 백업)

  

 

디스크 용량산정 절차

 

 

 

  

디스크 산정 주의사항

·         처음 사용을 위하여 포맷 필요하며 보통 디스크 공간의 15% 필요로 하게 됩니다.

·         지침의 산정식에서는 디스크 공간을 감안하지 않으므로 최종적으로 산정한 디스크 규모 산정치에 추가적으로 고려해야 합니다.

 

 

  

디스크 용량 산정 방법

시스템 디스크 =
(시스템 OS 영역 + 응용 프로그램 영역 + SWAP 영역) X
파일시스템 오버헤드 X 시스템 디스크 여유율 X RAID 여유율
데이터 디스크 =
(데이터 영역 + 백업 영역) X
파일시스템 오버헤드 X 데이터 디스크 여유율 X RAID 여유율

   

구분 산정항목 내용 적용범위 일반값
1 시스템 OS
영역
운영체제 시스템 소프트웨어 등을
위한 영역
- 산정값
2 응용프로그램
영역
미들웨어 응용소프트웨어 영역,
데이터베이스 설치 영역, 기타 유틸리티
설치 영역 응용프로그램을 대상으로
- 산정값
3 SWAP 영역 시스템 장애 시의 Dump역할 수행과
메모리 대용의 효율적인 Swapping
수행하기 위한 작업공간
- 산정값
4 파일 시스템
오버헤드
일반 사용자 관리영역을 위한 수퍼유저의
관리 공간 I-node Overhead,
수퍼블럭, 실린더그룹 파일관리 공간
- 1.1
5 시스템/데이터
디스크 여유율
시스템의 안정된 운영을 위한 보정으로
업무의 중요도나 긴급도를 감안하여 적용
1.2 ~ 1.5 1.3
6 데이터 영역 실제 필요한 데이터량 - 산정값
7 백업 영역 데이터와 데이터의 변경내역 정보 등의
백업을 위한 공간
- 산정값
8 RAID 여유율 RAID 디스크가 도입될 경우 데이터
보호를 위한 패러티 영역으로 사용되는
공간을 위한 보정
- RAID1, RAID0+1, RAID1+0 : 2.0
RAID5 : 1.3
RAID6 : 1.4
9 시스템/데이터
디스크 여유율
시스템의 안정된 운영을 위한 보정으로
업무의 중요도나 긴급도를 감안하여 적용
1.2 ~ 1.5 1.3

 

  

시스템의 디스크 용량을 산정하기 위한 상세 내용은  [20.01.02.응용SW엔지니어링_01_요구사항확인_시스템 용량 산정 상세내용 발췌] 첨부파일을 참조합니다.

 

 

  

 

시스템 산정 상세내용

·         [20.01.02.응용SW엔지니어링_01_요구사항확인_시스템 용량 산정 방법 상세내용 발췌]

·         https://codedragon.tistory.com/4025

 

시스템 용량산정 방법 - "정보시스템 하드웨어 규모산정 지침" TTAK.KO-10.0292

    시스템 용량산정 방법 시스템을 구축하기 위하여 필요한 하드웨어 규모는 한국정보통신기술협회의 "정보시스템 하드웨어 규모산정 지침" TTAK.KO-10.0292 관련 내용을 참조하여, CPU 용량, 메모

codedragon.tistory.com