Connecting Life and Technology

기술과 일상 사이를 잇는 워킹맘 기획자의 큐레이션( A Working Mom's Curation)

Tech 트렌드

TPC-C benchmark 읽는 법부터 클라우드 DB 성능 측정까지 한 번에!

zzzoey 2009. 4. 24. 21:26
반응형

 

TPC-C 벤치마크, 이렇게 보면 쉽습니다.
클라우드 환경 성능 비교까지 정리!

※ 이 글은 최신 정보를 반영하여 업데이트되었습니다. (2025-04-23)

 

데이터베이스(DB) 성능을 이야기할 때 빼놓을 수 없는 것이 바로 TPC-C 벤치마크입니다.

하지만 처음 접하면 숫자도 많고 복잡해서 쉽게 다가가기 어렵죠.

 

그래서 이번 글에서는 TPC-C 벤치마크가 어떤 테스트인지, 결과는 어떻게 읽어야 하는지,

클라우드 환경에서는 어떻게 성능을 측정하는지까지 차근차근 풀어봤어요. ✨


TPC-C 벤치마크란?

TPC(Transaction Processing Performance Council)는 데이터베이스 성능을 공정하게 비교할 수 있도록 기준을 만든 기관입니다. 과거에는 TPC-A, TPC-B 같은 테스트도 있었지만 지금은 TPC-C, TPC-H, TPC-App 세 가지가 주로 사용돼요.

TPC-C는 1990년에 개발을 시작해 2년 만에 완성됐고, 현재 버전은 5.5입니다.

온라인 주문-배송 환경을 모델링하여, 다양한 하드웨어와 소프트웨어 구성에서 OLTP(Online Transaction Processing) 성능을 측정하는 데 사용됩니다.

TPC-C 벤치마크가 모델링하고자 하는 목표 시스템은 다음 그림처럼 구성되어 있어요.

TPC-C 벤치마크 시스템 구조

TPC-C 테스트 구조 이해하기

TPC-C는 다음과 같은 구성으로 테스트를 진행합니다:

  • 9개의 테이블
  • 5가지 주요 트랜잭션 (주문 입력, 결제, 배송, 주문 상태 조회, 재고 확인)

주문을 넣고, 결제하고, 배송 상태를 확인하는 등 실제 상거래 시스템을 모델링합니다. 다만, 특정 애플리케이션 구현이 아니라 산업 전반의 물류/재고/판매 흐름을 시뮬레이션하는 데 목적이 있어요.

응답 속도 기준도 있습니다:

  • 대부분 트랜잭션은 5초 이내 완료
  • 재고 조회 트랜잭션은 20초 이내 완료

실제 TPC-C 테스트에서는 다음과 같은 테이블 구성이 사용돼요.

TPC-C 테이블 구성

 

9개 테이블 상세 설명

TPC-C 테스트에서는 다음 9개 테이블을 사용해서
실제 기업의 주문-배송-재고 관리 프로세스를 시뮬레이션합니다.

Warehouse (창고) 상품을 보관하는 창고 정보를 담고 있어요. 지역, 주소, 세금 등 관리
District (구역) 창고 안에 존재하는 여러 소규모 지역(구역) 데이터
Customer (고객) 주문하는 고객 정보 (이름, 주소, 크레딧 상태 등)
Order (주문) 고객이 실제로 생성한 주문 내역 (주문번호, 날짜 등)
New_Order (신규 주문) 아직 처리되지 않은 새로운 주문 목록
Order_Line (주문 상세) 주문된 상품 각각에 대한 세부 내역 (상품 ID, 수량, 금액 등)
Item (상품) 판매되는 상품 자체에 대한 정보 (상품명, 가격, 설명 등)
Stock (재고) 각 상품의 재고 현황을 창고별로 관리
History (거래 이력) 결제 등 고객 거래 내역을 기록 (언제, 얼마를 결제했는지 등)

✏️ 풀어서 쉽게 설명하면

  • Warehouse + District ➔ 창고와 그 안의 지역 관리 (어디에서 물건을 보내는지)
  • Customer + Order + New_Order + Order_Line ➔ 고객이 주문하고, 주문이 생성되고, 각 주문 상세 내역까지 트래킹
  • Item + Stock ➔ 판매할 상품과 재고 현황을 관리
  • History ➔ 결제나 거래가 일어났던 기록 보관

 

TPC-C 결과를 읽는 방법

TPC-C 결과를 해석할 때 핵심은 두 가지입니다:

  • tpmC(Transaction Per Minute - C): 1분 동안 처리 가능한 주문 트랜잭션 수
  • Price/tpmC: 트랜잭션 1건 처리에 드는 비용

예를 들어, IBM 서버 + DB2 조합은 3,210,540 tpmC, Price/tpmC 5.07달러로 기록됐습니다.

구성 비용은 약 160억 원이죠. 반면, 가성비가 좋은 저가 시스템은 38,622 tpmC에 Price/tpmC가 0.99달러로 훨씬 저렴합니다.

목표에 따라:

  • 고성능 필요 시 ➔ tpmC 중심
  • 비용 효율 우선 시 ➔ Price/tpmC 중심

실전 팁: 결과 해석 시 꼭 체크할 것

  • CPU 개수 확인: CPU 수가 많을수록 tpmC가 높습니다.
  • DBMS 영향보다 하드웨어 영향이 큼: 서버 사양 차이가 성능을 좌우합니다.
  • 벤치마크 리포트(FDR) 참고: 구성과 가격 정보를 꼼꼼히 확인해두세요.

 


클라우드 환경에서는 어떻게 테스트할까?

요즘은 AWS, Azure 같은 클라우드 환경에서도 TPC-C 테스트를 많이 합니다. 클라우드에서 DB 성능을 측정할 때는 이렇게 준비해요:

  • VM 스펙 명확화: CPU, 메모리, 디스크 I/O 성능을 세팅
  • 고성능 스토리지 사용: IOPS 성능 확보 필수
  • 네트워크 레이턴시 최소화: 같은 리전과 AZ(가용 영역) 사용
  • DB 엔진 최적화: Aurora, Cloud SQL 등 클라우드 최적화 DB 활용
  • 스케일링 정책 고려: Auto Scaling의 테스트 영향 반영

클라우드 특성상 스토리지 속도나 네트워크 환경에 따라 DB 성능 결과가 민감하게 달라질 수 있으니 세팅 단계부터 꼼꼼히 점검하는 것이 중요해요.

최근 TPC-C 벤치마크 트렌드

  • ARM 서버 약진: 인텔 외 ARM 아키텍처도 본격적으로 성능 입증 중
  • 클라우드 최적화 테스트 증가: 클라우드 전용 환경에서 성능 테스트 활발
  • 에너지 효율성 강조: 성능과 저전력 모두 중요한 평가 요소로 부각

마무리

TPC-C 벤치마크는 단순히 성능 1위를 찾는 게 아니라, 자신에게 맞는 시스템을 현명하게 고르는 기준이 됩니다.

온프레미스든 클라우드든 성능, 비용, 확장성까지 균형 있게 고려하세요!

처음에는 복잡해 보여도, 하나하나 이해하면 훨씬 쉬워질 거예요. 😊

 

728x90
반응형