TPC Benchmark
- CPU : SPECint, SPECfp, SPECint_rate, SPECfp_rate
- OLTP : TPC-C
- Data Warehousing : TPC-H
- Web : SPECweb96, SPECweb99, SPECweb99_SSL
- Java : SPECjbb2000
- Oracle : Oracle Standard Benchmark
- SAP
- SAP R/3 2-tier, 3-tier
- SAP ATO (Assemble to Order) 2-tier. 3-tier
TPC-C Overview
- 비교적 복잡한 OLTP 트랜잭션
- TPC 조직이 2 년에 걸쳐 개발한 결과
- 전형적인 주문입력 시스템을 기본 구조로 설정하여 벤치마크를 위한 개념 설립
- 주문관리 도매상 어플리케이션을 모델로 설정
- 5개 유형의 트랜잭션으로 구성된 워크로드
- 처리량에 따른 사용자 및 Database의 증가
- Full-Screen 사용자 인터페이스를 SPEC 정의
- 1분 당 신규 주문 처리 건수(tpmC) 및 가격 대비 성능($/tpmC)에 대한 값을 측정
- 1992년 7월 23일 TPC-C 테스트 승인
- 현재 Version 5 발표
TPC-C Workload
- OLTP Transaction 유형 (80년대말~90년대초 표준)
- New-order : 고객으로부터 새로운 주문 입력
- Payment : 고객의 지불 처리 및 잔고 Update
- Delivery : 주문 처리 (Batch 작업)
- Order-status : 고객의 가장 최근 주문 상태 확인
- Stock-level : 창고의 재고현황을 모니터링
- 한 개의 Database와 9개의 Table로 구성
- Update, Insert, Delete 및 Abort Transaction으로 구성 (Primary or Secondary Key Index).
- 응답시간 요구사항 : 90% 이상의 Transaction이 5초 이하의 응답시간, Stock-level Transaction의 경우는 20초 이하
- 현재 1위 : IBM eServer p5 595 64p
TPC-H Overview
TPC-H Benchmark (DW, BI)
- 의사 결정 시스템과 같은 Decision Support Benchmark Test
- 실제 비즈니스 상황을 반영한 대용량 Database에 대한 복잡한 22개의 Ad-hoc 쿼리 및 2개의 데이터 조작 문장으로 구성
TPC-H에 사용되는 쿼리문
- 실제 비즈니스 상황에서 필요로 하는 ad-hoc 쿼리문으로 구성
- 일반적인 OLTP 트랜젝션에 비해 훨씬 복잡함
- 광범위한 조작과 제약(Constraints) 포함
- CPU 성능 외 Memory, I/O 등 데이터베이스 전반적인 부품에 대한 집중적인(intensive) 부하 발생
- 대용량의 데이터베이스에 대한 요구
TPC-H 단위
- QphH@Size (TPC-H Composite Query per Hour)
- Size는 Benchmark에 사용된 데이터베이스의 크기로 1GB, 10GB, 30GB, 100GB, 300GB, 1000GB, 3000GB, 10000GB의 몇 가지 지정된 크기를 명시함. 이 Database 크기는 Scale Factor(SF)로 TPC-H 산출 공식에서 사용
- 사용된 Database의 크기가 1GB 이면 SF=1, 3TB이면 SF=3000
TPC-H의 결과
- TPC-H 값이 3000 QphH@300GB라면 이 수치의 의미는 300GB 용량의 Database에서 3000/300 = 10개의 Adhoc Query를 한시간에 수행할 수 있는 능력을 의미 (SF=300)
- Database의 Size가 다른 QphH의 비교는 무의미하며 잘못된 결과를 초래할 수 있으므로 주의
- 현재 1위 : Sun Fire[TM] E25K server
SPEC Overview
Standard Performance Evaluation Corporation
SPECcpu2000
- Processor, Memory, Compiler 등과 같은 Unit이 얼마나 뛰어난가 측정하는 표준
- 정수 및 실수 (부동 소수점) 에 대해 연산 위주의 작업을 수행하여 결과를 측정
- SPECint: 하나의 정수연산을 얼마나 빠르게 수행하는가? Speed에 대한 측정
- SPECfp: 하나의 실수연산을 얼마나 빠르게 수행하는가? Speed에 대한 측정
- SPECint_rate: 주어진 시간동안에 얼마나 많은 정수연산 작업을 수행하는가? 대역폭에 대한 측정
- SPECfp_rate: 주어진 시간동안에 얼마나 많은 실수연산 작업을 수행하는가? 대역폭에 대한 측정
SPECweb
- SPECweb96: 정적 환경의 Web Server에 대한 성능 측정 (HTML, Image Downloading)
- SPECweb99: 동적 환경의 Web Server에 대한 성능 측정 (DHTML, CGI etc)
- SPECweb_SSL: SSL 기반의 암호화 기법이 적용된 Web Server에 대한 성능 측정