성능의 예측과 서버의 수량 예측 (2/2)
- blackrusiper
- 2016년 5월 1일
- 3분 분량
앞장의 '성능의 예측과 서버의 수량 예측 (1/2) 의 서두에서도 말했지만 성능예측은 쉬운 일이 아니다.
앞장의 정보를 토대로 아래의 산정식을 진행해 보겠다.
위트랜젝션 정보를 가지고 아래의 보정을 진행하게 될텐데 이에 따라 서버의 예상 사용량이 나올 것이다.
아래의 표는 DB 혹은 배치등 고용량 작업에 대한 보정률을 표로 정리 한것이다.

위의 수치 보정은 각 상황에 맞춰서 보정 하겠지만 각 항목 별로 다시한번 자세히 살펴볼 필요가 있다.
구분 1. 의 항목에는 위의 3가지 트랜젝션 수를 입력하면 된다.
구분 2. 의 항목에는 기본적인 보정인데 대용량일 경우 30% 이상의 보정치를 책정하면 되겠다.
구분 3. 의 항목에는 서버의 부하가 얼마나 집중 되는지를 판단하는 것이다. 월중 일, 혹은 특정 시간에 과도하게 집중 될 경우 50% 의 보정을 주면 되고 크게 몰리지 않거나 특별히 차가 없다면 20% 정도로 보정치를 적용하면 되겠다.
구분 4. 의 항목에는 디비의 크기에 따라 적용 된다고 보면 되는데, DA와 긴밀한 협의가 필요하다고 볼 수 있다.
TTA 에서 권장한 값은 아래의 표와 같다.

구분 5. 의 앙목에는 각 계층 구조별 보정치를 아래의 표를 기준으로 정한다.

구분 6. 의 항목은 작업의 크기에 따라 120 - 30% 까지 보정치를 적용한다.
구분 7. 의 항목은 서버의 클러스터의 여부에 따라 A-A일때는 30 - 50% A - S 일때는 0%의 보정치를 적용한다.
이 값의 요율등을 정리하면 다음과 같다.

여기에 나온 최종적인 값으로 309,476,575.95855 을 가지고 CPU 제조사 혹은, 서버 벤더사에서 제공하는 tpm-C 정보를 대비해서 서버를 선정하면 되겠다.
다만 이 측정치는 대략적인 수치이고, 실환경과는 다를 수 있으므로 여유를 많이 줘야 한다.
특히, 최근에는 tpm-C 를 제공하지 않으므로 벤더사에 정확한 정보를 받는것이 좋을 것이다.
그리고 만약 조금 급한 성격의 클라이언트나 요구자의 경우 이렇게 구성하면 CPU의 몇 % 정도를 쓰는지 요구하는 경우가 있다. 계산상의 내용이므로 서버의 총 tpm-C 의 요구치를 대비할때 환경마다 다르겠지만 위의 환경일 경우 피크치가 아닌 평소 약 10% 미만으로 안내하는 것이 맞을 것이다.
*( 서버의 OS 혹은 소프트웨어만 올라가고 작동하고 있을 때이므로 10%를 절대 넘지 않아야 정상이다. 그것을 판단기준으로 설명하는 것이다. )
자 이제 WEB, WAS의 CPU 산정을 해 볼 수 있도록 하자.
위의 OLTP산정식보다는 간단하게 구 할수 있지만 cpu 의 단위인 OPS에 대한 설명이나 구성이 어디에도 표시 되어있지 않다.
내용도 다르므로 tpm-C와 동일하지도 않을 것이 분명하다.
그래도 필요한 부분이므로 아래의 표대로 계산하여 WAS / WEB 의 CPU를 산정하자.

각 산정의 내역을 가지고 각 티어별로 구성을 한다면 다음의 배율로 정리를 한다.

위의 정리처럼 정리를 하면 CPU의 성능 예측이 완료 된다.
다음은 MEM 과 Disk 의 성능의 예측이다.

각 메모리 산정의 항목을 본다면, 단순 덧셈이브로 복잡하지 않다.
시스템 영역은 기본 2GB - 4GB 를 산성하고, 사용자당메모리를 0.5 - 1.5 MB 를 산정하지만 실제로는 반드시 확인하는것이 좋다. 최근엔 세션당 10MB를 넘는 경우가 많으므로 이 부분은 반드시 확인해보는 것이 좋다.
동시 사용자 수는 위의 CPU 산정시 나오는 수량을 사용 하면 된다.
버퍼 캐쉬의 경우 필요한양을 지속적으로 사용하므로, 반드시 산정해야 한다.
시스템 여유율은 가능하면 여유있게 배정하자 약 30% 정도를 배정하면 되겠다.
디스트의 구성은 아래의 표를 대상으로 산정하게 되는데 메모리보다 조금 생각할게 많아 진다.

위의 항목들을 살펴 보게 된다면 디스크의 상황과 RAID 의 영역을 구분 할 필요가 있는데, RAID0, 1, 5, 1+0, 0+1 등등 생각할 문제가 많다.
클라우드일 경우 RAID를 배재하고 생각하면 된다.
항목 1.의 경우 리눅스 Linux 를 대상으로 보자면, OS영역의 경우 30GB, 응용프로그램 영역의 경우 20GB, SWAP의 경우 일반적으로 메모리의 2 배를 잡아주지만, 최근엔 메모리의 양이 상당하므로 1배정도로 잡아주면 되겠다.
파일 시스템의 오버헤드의 영역은 10% 여율은 30%, 데이터 영역은 실제 데이터 예상치인데 이곳엔 서버에서 사용하는 모든 영역을 포함하면 된다. 이 것을 단순히 보면, 이미지, 영상 및 음향, 기타파일, Log, 프로그래밍 소스 영역 등 등이 되겠다.
백업 영역의 경우 실 서버 혹은 NAS, DAS 등 등으로 나눌수도 있지만, 바로 옴겨지는 파일들이 아니므로 백업을 받아두는 영역으로 보면되겠다. 로그의 양이 상당하거나 테스트 등등을 사용하는 서버라면, 이 영역또한 큰 영역으로 배정해야 한다.
이 외에 디스크 및 메모리의 선정 기준에 속도 및 방식등이 구분이 되는데 메모리의 경우 클럭이라던지 ECC메모리 사용, 기본 배율과 CPU당 사용되는 메모리 슬롯 배치 등등을 계획해야하고, 디스크는 속도 및 디스크의 물리 크기 슬롯의 상황에 따라 HDD, SSD 구분에 RPM 과 슬롯의 방식에 따라 SAS, SATA 등등과 용량등을 꼭 비교해야 한다.
Comments