TPC-C 벤치마크는 OLTP(온라인 트랜잭션 처리) 시스템의 성능을 평가하는 데 널리 사용되는 벤치마크로, 도매 공급업체의 비즈니스 활동을 시뮬레이션하여 서버의 트랜잭션 처리 성능을 측정합니다. TPC-C 벤치마크는 실제 비즈니스 환경과 유사한 상황을 재현하여 데이터베이스 성능을 종합적으로 평가하는 것이 특징입니다. 이번 글에서는 TPC-C 벤치마크의 주요 특징과 데이터베이스 복잡성 측정 요소에 대해 살펴보겠습니다.

1. TPC-C의 주요 특징

1) 비즈니스 모델

TPC-C는 도매 공급업체(wholesale supplier)의 활동을 시뮬레이션합니다. 이 모델은 다수의 창고(Warehouse)를 통해 주문, 결제, 배송 등의 상거래 과정을 처리하는 시스템을 기반으로 하며, 대규모 상용 환경에서의 성능 평가에 적합합니다.

2) 데이터베이스 구조

TPC-C 벤치마크는 9개의 테이블로 구성되며, 각 테이블은 다양한 크기와 컬럼을 포함하고 있습니다.

  • 테이블은 총 92개의 컬럼으로 이루어져 있으며, 테이블당 컬럼 수는 최소 3개에서 최대 21개까지 있습니다.
  • 이 구조는 TPC-C가 실제 비즈니스 환경에서 발생하는 데이터 처리 요구사항을 시뮬레이션할 수 있도록 설계되었습니다.

3) 트랜잭션 유형

TPC-C는 5가지 주요 비즈니스 트랜잭션을 포함합니다. 이 트랜잭션들은 각각의 비즈니스 프로세스를 반영하며, 시스템 성능에 대한 다양한 측면을 평가합니다:

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
  • New-Order: 새로운 주문을 입력하는 트랜잭션 (읽기/쓰기)
  • Payment: 고객의 결제를 처리하고 잔고를 업데이트 (읽기/쓰기)
  • Order-Status: 최근 주문 상태를 확인 (읽기 전용)
  • Delivery: 주문을 처리하는 배치 작업 (읽기/쓰기)
  • Stock-Level: 창고의 재고 현황을 모니터링 (읽기 전용)

4) 트랜잭션 특성

TPC-C의 트랜잭션은 92%가 읽기/쓰기(RW) 작업이며, 나머지 8%는 읽기 전용(RO) 작업으로 구성되어 있습니다. 이 비율은 현실적인 OLTP 시스템에서 일어나는 트랜잭션 패턴을 반영합니다.

5) 데이터 및 I/O 특성

데이터는 무작위로 생성되며, 시스템은 초당 약 3,360 I/O 연산을 수행합니다. 이와 같은 무작위 데이터 생성과 높은 I/O는 실제 비즈니스 환경에서의 다양한 작업 부하를 시뮬레이션하는 데 효과적입니다.

6) 성능 측정 단위: tpmC

TPC-C 벤치마크는 성능을 tpmC(Transactions Per Minute C) 단위로 측정합니다. 이는 시스템이 1분 동안 처리할 수 있는 트랜잭션 수를 나타내며, 시스템의 최대 처리 능력을 평가하는 중요한 지표입니다.

7) 확장성

TPC-C는 시스템 확장에 따라 터미널 수와 데이터베이스 크기를 조정할 수 있도록 설계되었습니다. 이를 통해 소규모에서 대규모까지 다양한 시스템 환경에서 성능을 평가할 수 있습니다.

8) ACID 속성

데이터베이스는 원자성(Atomicity), 일관성(Consistency), 격리성(Isolation), 지속성(Durability)의 ACID 속성을 준수해야 합니다. 이를 통해 트랜잭션 처리의 신뢰성과 안정성을 보장합니다.

2. TPC-C 데이터베이스의 복잡성 평가

1) 데이터베이스 구조

TPC-C는 총 9개의 테이블로 구성되며, 각 테이블은 다양한 크기와 컬럼을 가지고 있습니다.

  • 예를 들어, Stock 테이블은 306M, Order-Line 테이블은 16.2M의 크기를 갖습니다.
  • 테이블의 크기는 창고(Warehouse)의 수에 따라 달라지며, 대규모 데이터베이스를 효과적으로 시뮬레이션할 수 있습니다.

2) 데이터 접근 패턴

트랜잭션은 Select, Insert, Update, Delete 작업을 통해 다양한 테이블에 접근하며, 65%가 읽기 작업, 35%가 쓰기 작업으로 이루어집니다. 이러한 접근 패턴은 무작위(Random) I/O를 집중적으로 요구하며, 복잡한 OLTP 시스템의 I/O 성능을 평가하는 데 적합합니다.

3) 복잡성 측정 요소

TPC-C 벤치마크는 시스템의 복잡성을 다양한 요소로 측정합니다. 이 요소들은 시스템 성능에 대한 전반적인 평가를 가능하게 합니다:

  • 동시 사용자 수
  • 트랜잭션 복잡도 (50% 가중치)
  • 인터페이스 가중치
  • 네트워크 보정 (30%)
  • 피크 타임 보정 (50%)
  • I/O 부하 (20%)
  • 연간 업무 증가 및 여유율 (연 20%)

이러한 요소들을 종합하여 시스템의 복잡성과 성능을 단일 지표로 나타낸 tpmC 값을 계산할 수 있습니다. 이 계산식은 시스템이 현실적인 환경에서 처리할 수 있는 트랜잭션 양을 평가하는 데 중요한 역할을 합니다.


TPC-C 벤치마크 결론

TPC-C 벤치마크는 OLTP 시스템 성능을 평가하는 데 가장 널리 사용되는 도구 중 하나입니다. 복잡한 비즈니스 트랜잭션 시나리오와 무작위 I/O 작업 부하를 통해, 시스템의 CPU 성능뿐만 아니라 데이터베이스 처리 능력을 종합적으로 평가할 수 있습니다. TPC-C의 성능 측정 결과는 OLTP 시스템 구축 및 확장 시 중요한 기준으로 작용하며, 데이터베이스 성능 평가에 있어 필수적인 벤치마크입니다.

TPMC (Transactions Per Minute C) 정의 및 목적

TPMC는 TPC-C 벤치마크 테스트의 일환으로 시스템이 1분당 처리할 수 있는 트랜잭션 수를 측정하는 지표입니다. Transaction Processing Performance Council (TPC)에서 개발한 이 벤치마크의 주요 목적은 다음과 같습니다

  • 트랜잭션 처리 성능 평가
  • OLTP(온라인 트랜잭션 처리) 데이터베이스 환경에서 하드웨어 성능 측정
  • 서버 시스템 간 성능 비교

주요 특징

  • TPMC는 주로 데이터베이스 관련 작업에서 CPU 및 전체 시스템 성능에 중점을 둡니다.
  • 하드웨어 공급업체가 서버 성능을 홍보하는 데 자주 사용됩니다.
  • TPC-C 벤치마크는 데이터베이스, 사용자, 트랜잭션을 포함한 복잡한 OLTP 환경을 시뮬레이션합니다.

계산 방식

TPMC 값은 다음과 같은 여러 요인을 기반으로 한 일련의 조정을 통해 계산됩니다:

  • 동시 사용자 수
  • 초당 트랜잭션 수
  • CPU 및 데이터베이스 부하 수정
  • 네트워크, 클러스터, 애플리케이션 관련 수정

이러한 조정은 TPMC가 현실적인 OLTP 작업 부하에서 시스템의 최대 처리 능력을 반영하도록 합니다.

사용 동향

  • TPMC는 과거에 서버 성능을 비교하는 주요 지표였습니다.
  • 최근에는 서버 아키텍처와 작업 부하가 다양해지면서 벤더들이 다른 벤치마크나 자체 성능 지표를 사용하기 시작했습니다.

한계점

  • TPMC는 CPU 성능에 중점을 두며, 메모리나 디스크 I/O 또는 특정 작업 부하 성능을 충분히 반영하지 못할 수 있습니다.
  • 현대 벤치마킹에서는 I/O 작업, 스토리지 속도, 애플리케이션별 요구 사항 등 더 넓은 범위를 고려합니다.

결론

TPMC는 한때 서버 성능을 벤치마킹하는 데 지배적인 지표였지만, 현대 시스템은 CPU 이외의 다양한 하드웨어 구성 요소와 작업 부하 요구 사항을 포괄하는 더 종합적인 관점이 필요합니다. TPMC 결과는 여전히 TPC 공식 웹사이트(www.tpc.org)에서 확인할 수 있지만, 현재 벤더들은 더 폭넓은 성능 측정에 중점을 두는 경향이 있습니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

아마존 해외 구매: 서버, 네트워크, 노트북 구매

Amazon Best Sellers Servers

Amazon Best Sellers Networking

Amazon Best Sellers Laptops

위로 스크롤