TPMC(Total Transactions Per Minute, Commit)를 기반으로 메모리 용량과 디스크 용량을 산정하는 것은 시스템 설계에서 매우 중요한 단계입니다. 서버가 처리할 수 있는 트랜잭션 수를 기반으로 하드웨어 요구 사항을 산정함으로써, 시스템 성능을 극대화할 수 있습니다. 이를 위해서는 트랜잭션 처리량과 데이터 처리 특성에 대한 구체적인 분석이 필요합니다.
1. 메모리 용량 산정
메모리는 트랜잭션 처리 시 데이터 캐싱, 버퍼링, 세션 관리 등에 사용됩니다. 메모리 요구 사항을 산정할 때는 다음과 같은 요소를 고려해야 합니다.
(1) 각 트랜잭션이 사용하는 메모리량 계산
- 각 트랜잭션이 처리하는 데이터의 크기(예: 읽기/쓰기 데이터 양, 캐시 사용량 등)를 파악해야 합니다.
- 예를 들어, 각 트랜잭션이 1MB의 데이터를 처리한다고 가정할 수 있습니다.
(2) 트랜잭션 처리 속도와 동시 접속 사용자 수
- 시스템이 동시에 처리할 수 있는 트랜잭션 수와 동시 접속 사용자 수를 기반으로 메모리 요구량을 계산합니다.
- 예를 들어, 시스템이 TPMC 5,000을 처리하고, 동시 접속 사용자 수가 1,000명이라고 가정합니다.
(3) 메모리 요구량 계산 공식
{메모리 요구량} = {동시 실행 트랜잭션 수} * {트랜잭션 당 메모리 사용량}
- 동시 실행 트랜잭션 수는 TPMC에서 계산된 트랜잭션 처리량을 기준으로 결정됩니다.
- 예: TPMC 5,000 → 초당 약 83.33 트랜잭션 처리 (5,000 ÷ 60초).
- 동시 트랜잭션 수는 이를 기반으로 계산되며, 동시에 몇 개의 트랜잭션이 처리되는지 추정합니다.
- 예시: 각 트랜잭션이 1MB의 메모리를 사용하고, 동시 실행 트랜잭션이 100개라면:
{메모리 요구량} = 100 * 1MB = 100MB
따라서, 동시 실행 트랜잭션이 100개라면 최소 100MB의 메모리가 필요합니다. 실제로는 버퍼, 캐시 등을 고려해 여유 용량을 할당해야 하므로, 이보다 더 많은 메모리가 필요할 수 있습니다.
2. 디스크 용량 산정
디스크 용량은 트랜잭션 데이터 저장 및 로그 관리에 필수적입니다. 트랜잭션이 데이터베이스에 저장되거나 업데이트될 때, 이 데이터는 디스크에 저장되며, 시스템의 디스크 용량은 트랜잭션 데이터 크기와 보관 정책에 따라 달라집니다.
(1) 트랜잭션 당 저장되는 데이터 크기 파악
- 트랜잭션에서 생성되거나 수정되는 데이터의 평균 크기를 추정합니다. 예를 들어, 각 트랜잭션에서 10KB의 데이터가 디스크에 저장된다고 가정할 수 있습니다.
(2) 로그 파일 크기 고려
- 트랜잭션 로그는 데이터 변경 사항을 기록하며, 시스템 장애 시 복구를 위해 필수적입니다.
- 로그 파일 크기는 트랜잭션 데이터 크기와 유사하거나 이를 초과할 수 있습니다.
(3) 디스크 용량 요구량 계산 공식
{디스크 용량 요구량} = {트랜잭션 수} *(트랜잭션 당 데이터 크기 + 로그 크기)
- 트랜잭션 수는 TPMC를 기준으로 산정하며, 로그 크기는 일반적으로 트랜잭션 크기의 1.5배에서 2배 정도로 추정할 수 있습니다.
(4) 예시 계산
- 각 트랜잭션이 10KB의 데이터를 디스크에 저장하고, 로그 파일 크기는 15KB(트랜잭션당 로그 크기)라고 가정합니다.
- TPMC 5,000인 시스템에서 하루(1,440분) 동안 트랜잭션을 처리한다고 가정하면:
{트랜잭션 수} = 5,000 * 1,440 = 7,200,000 건
따라서:
{디스크 용량} = 7,200,000 * (10KB + 15KB) = 7,200,000 * 25KB = 180,000,000KB = 180GB
- 이 시스템은 하루 동안 약 180GB의 디스크 용량이 필요합니다. 백업, 로그 보관 주기, 장애 대비를 위한 여유 용량 등을 추가로 고려하여 실제 디스크 용량을 결정합니다.
3. 기타 고려 사항
- 성장 예측 : 트랜잭션 증가율을 예상하여, 향후 몇 년 동안의 데이터 증가를 고려한 여유 디스크 용량을 확보해야 합니다.
- RAID 및 복제 : 고가용성을 위해 RAID 설정 및 데이터 복제를 할 경우 추가 용량이 필요합니다.
- 백업 및 보관 정책 : 데이터 보관 주기와 백업 정책에 따라 디스크 요구량이 증가할 수 있습니다.
4. 결론
- 메모리 용량 : 동시 처리 트랜잭션 수와 트랜잭션당 메모리 사용량을 기반으로 계산.
- 디스크 용량 : 트랜잭션당 데이터 크기와 로그 파일 크기를 기반으로, 트랜잭션 수와 저장 용량을 계산.
이를 기반으로 시스템 트랜잭션 수요에 맞는 하드웨어 요구 사항을 산출하여 성능 최적화를 도모할 수 있습니다.
'Technical Architecture' 카테고리의 다른 글
IT시스템 구축 시 단위 업무 시스템으로부터 필요한 TPMC(Total Transactions per Minute, Commit)를 구하는 방식 (6) | 2024.10.17 |
---|---|
AI서비스 구현 시 쿠버네티스 활용 사례 (8) | 2024.10.16 |
AI학습용 서버의 용량 산정 시 고려사항 및 용량 산정 방법 (6) | 2024.10.16 |
TPMC(Total Transactions Per Minute, Commit)기반으로 네트워크 대역폭 구하기 (4) | 2024.10.09 |
TPMC 계산 방법 및 서버 용량 산정시 활용 방법 (14) | 2024.10.08 |