Technical Architecture

TPMC기반으로 메모리 용량, 디스크 용량 산정하기

Ed2024 2024. 10. 8. 15:10

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. 결론
   - 메모리 용량 : 동시 처리 트랜잭션 수와 트랜잭션당 메모리 사용량을 기반으로 계산.
   - 디스크 용량 : 트랜잭션당 데이터 크기와 로그 파일 크기를 기반으로, 트랜잭션 수와 저장 용량을 계산.

이를 기반으로 시스템 트랜잭션 수요에 맞는 하드웨어 요구 사항을 산출하여 성능 최적화를 도모할 수 있습니다.