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는 다음과 같은 구성으로 테스트를 진행합니다:
- 9개의 테이블
- 5가지 주요 트랜잭션 (주문 입력, 결제, 배송, 주문 상태 조회, 재고 확인)
주문을 넣고, 결제하고, 배송 상태를 확인하는 등 실제 상거래 시스템을 모델링합니다. 다만, 특정 애플리케이션 구현이 아니라 산업 전반의 물류/재고/판매 흐름을 시뮬레이션하는 데 목적이 있어요.
응답 속도 기준도 있습니다:
- 대부분 트랜잭션은 5초 이내 완료
- 재고 조회 트랜잭션은 20초 이내 완료
실제 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위를 찾는 게 아니라, 자신에게 맞는 시스템을 현명하게 고르는 기준이 됩니다.
온프레미스든 클라우드든 성능, 비용, 확장성까지 균형 있게 고려하세요!
처음에는 복잡해 보여도, 하나하나 이해하면 훨씬 쉬워질 거예요. 😊
'Tech 트렌드' 카테고리의 다른 글
VIBE CODING, 몰라도 괜찮아, 만들어보는 감각의 시대 (1) | 2025.04.21 |
---|---|
스마트워크 완성, AI 기반 SaaS 추천 5선 (2) | 2025.04.19 |
2025년을 지배할 IT 트렌드 5가지: 미래를 바꿀 기술을 미리 알아보자 (0) | 2025.04.18 |
MZ세대는 왜 구글을 떠났는가? | SNS와 AI로 바뀌는 검색 트렌드 (2) | 2025.04.18 |