TPC-C
TPC-CTPC-C(Transaction Processing Performance Council Benchmark C)의 줄임말인 TPC-C는 온라인 거래 처리(OLTP) 시스템의 성능을 비교하는 데 사용되는 벤치마크다.이 산업 표준은 1992년 8월에 발표되었고, 결국 1995년에 쓸모없다고 선언되었던 이전의 TPC-A를 대체하였다.2010년 현재 버전인 2021년[update] 5.11이 출시되는 등 컴퓨터 성능이 몇 차례나 성장하면서 관련성을 유지하기 위해 여러 변화를 겪었다.2006년에 새로운 OLTP 벤치마크가 제품군인 TPC-E에 추가되었지만, TPC-C는 여전히 널리 사용되고 있다.
TPC-C 시스템은 단순히 "회사"로 알려진 다세대 창고 도매 운영을 모델링한다.최소한의 테스트로, 회사는 10개의 창고를 가지고 있으며, 각 창고는 10개의 사용자 단말기를 가지고 있다.각 창고는 10개의 정의된 판매 구역에 서비스를 제공하며, 각 창고는 10만 개 품목의 상품 카탈로그를 기준으로 주문하는 3,000명의 고객을 보유하고 있다.거래 빈도가 가장 높은 것은 고객 주문으로, 주문 건당 평균 10개 품목이 거래되고 고객 결제도 이뤄진다.빈도가 낮은 요청은 주문 및 창고 재고 현황을 조회하고, 주문량을 선적하고, 낮은 재고량을 보충한다.주어진 시스템의 성능을 시험하기 위해 목표 성능 수준을 측정하는 데 필요한 최소한의 필요를 충족시키기 위해 창고의 수를 증가시킨다.[1]
벤치마크 결과는 tpmC로 알려진 분당 트랜잭션으로 측정된다.최초의 tpmC 결과는 IBM AS/400에 대해 1992년 9월에 발표되었고 54 tpmC의 결과를 반환했다.2000년대까지, 고급 기계들의 평균 결과는 240만 tpmC였고, 회사들은 기록을 잡기 위해 매우 큰 규모의 시스템을 구축하고 있었다.현재 기록은 7억730만 tpmC를 제공한 클라우드 컴퓨팅을 이용해 2020년에 수립됐다.소규모 사내 시스템에 대한 최근 결과는 tpmC당 비용을 낮추는 데 초점을 맞추고 있다.
IBM은 TPC-C를 수정하여 자체적인 내부 용도를 위해 상용 처리 작업부하로 알려진 단순화된 버전을 만들었으며, 유사한 변환은 일반적이지만 일반적으로 각 회사 외부에서는 알려져 있지 않다.
역사
선행작업
오라클과 같은 관계형 데이터베이스의 출시는 관계형 모델과 이전 CODASYL 개념 사이의 업계 내 논쟁을 이끌었다.이러한 토론에서 현실적인 성과 추정치를 제시하고자 하는 욕구가 커졌다.1985년에 탄뎀 컴퓨터의 짐 그레이는 "Anon et.al"으로 알려진 논문을 공동 저술했는데, 이 논문은 DebtCredit이라는 이름의 잠재적 표준에 대한 개요를 제시했다.[2]
이것은 많은 수정과 사과 대 오렌지 비교를 재빨리 보게 되었고, 이것은 결국 톰 소여와 옴리 설린의 1988년 6월 시스템 표준화와 새로운 버전을 출판하려는 노력으로 이어졌다.[3]이 판의 발행과 그 사용에 대한 계속되는 논쟁으로 1988년 8월 TPC라는 산업 컨소시엄이 설립되어 이러한 작업을 인수하고 공식적인 산업 표준을 만들었다.[4]
TPC는 TPC-A라는 이름의 첫 번째 산업 표준 벤치마크를 DebitCredit에 기초하여 완전한 AID 특성을 추가했다.다른 요구사항은 주로 조직적이었다. 결과를 제출하기 위해서는 제3자 감사가 제안된 시스템 및 테스트의 전체 세부사항을 제공해야 했고, 가격 정보는 5년의 기간 동안 유지보수 계약을 포함해야 했다.관련 벤치마크를 얼마 지나지 않아 공개하고 TPC-B라는 이름을 붙였는데, 이는 주로 단말기 입력을 에뮬레이션하기보다는 배치 입력을 사용한다는 점에서 차이가 있었다.[5]
오더-엔트리
TPC-A가 최종 확정될 무렵, DEC(Digital Equipment Corporation)는 새로운 분산형 데이터베이스 시스템인 RdbStar를 개발하고 있었다.이는 새로운 데이터베이스 시스템의 성능을 측정하는 새로운 벤치마크의 개발로 이어졌다.RdbStar 성능팀은 위스콘신 벤치마크, AS3AP, 질의 벤치마크 설정과 같은 기존의 많은 사전 TPC 벤치마크를 조사했다.그들은 또한 DEC의 유럽 사업부 고객들에 대한 조사로부터 실제 데이터베이스 사용 사례들을 조사했다.궁극적으로 그들은 창고 운영을 시뮬레이션한 오스틴 소재 마이크로일렉트로닉스 및 컴퓨터 컨소시엄으로부터 미발표 작업부하의 구성요소를 선정했다.팀은 이 워크로드를 주문 입력이라고 알려진 자체 벤치마크의 기준으로 사용했다.[6]
1990년 8월 TPC-B가 발표되었을 때, 이미 Debit/Credit은 너무 단순하고 일반적인 워크로드를 모델링하지 않는다는 우려가 있었다.11월에 새로운 노력은 새로운 벤치마크를 제공하라는 업계에 대한 요구로 시작되었다.IBM은 RAMP-C로 대응했고 DEC는 Order-Entry를 제공했다.DEC의 제안이 선정되었고, 그 주요 저자인 프랑수아 라브가 표준화 노력의 기술적 선도자로 선정되었다.[6]이러한 노력은 18개월 동안 지속되었고 1992년 8월 13일 TPC-C 버전 1.0이 출시되면서 절정에 달했다.[7]
개봉후
TPC-C 벤치마크 규격은 이후 몇 년 동안 몇 가지 사소한 개정을 거쳤다.1993년 6월 개정 1.1에서는 시험한 시스템의 일부 언어와 고객측 가격을 명확히 하였다.1993년 10월 2.0은 벤치마크 특정 개선을 배제하기 위해 다양한 보고 요구사항을 변경하고 언어를 추가했다.1996년 2월 3.0은 거래 추적, 이미지 추가에 대한 새로운 필드(궁극적으로 사용되지 않음), 터미널을 총 시스템 가격에서 제거하는 것을 추가했는데, 이때까지 서버 비용은 충분히 감소하여 터미널 비용이 총 가격의 일부분이 되어가고 있었다.[7]
벤치마크는 클라이언트-서버 모델과 같은 새로운 컴퓨팅 아키텍처의 출현을 수용하고 시험 단계와 필요한 보고의 적절한 실행을 지배하는 규칙을 명확히 하기 위해 계속 진화하였다.2000년에 가장 큰 변화가 일어났으며, 유지보수 가격을 5년에서 3년으로, 그리고 5일 8시간(5x8)에서 7일 24시간(7x24)으로 변경하여 측정 기간을 8시간에서 2시간으로 단축하고 보관 공간 요건을 3배 감소시키는 것으로 구성되었다.이 세 가지 주요 변경사항은 2001년 2월 26일 버전 5.0으로 출시되었다.벤치마크 명세서에 기술된 다양한 요건의 명확화를 포함한 이후 사소한 변경이 이루어졌다.2021년[update] 현재, 최신 개정판은 5.11로 2010년 2월 11일에 출판되었다.[8]
새로운 벤치마크에서 처음 발표된 결과는 1992년 9월 54 tpmC에서 발표되었다.[9]그 이후로, TPC-C에 대한 기록은 거의 정확하게 무어의 법칙에 따라 시간이 지남에 따라 증가했다.초기 결과는 10대였지만, 1년 후 이 수치는 수백대였고, 1998년 1월까지 기록은 52,871대였다.[9]2010년까지 이것은 백만 범위에 도달했다.2000년대에는 기록 경신에 드는 비용이 엄청나게 늘어나면서 기록 건수가 줄었다.이 기간을 통해 마이크로소프트는 새로운 TPC-E 벤치마크에 관심을 돌리면서 오라클은 거대한 시스템을 구축하게 되었고, 남들이 따라올 수 없는 기록을 반복적으로 세웠다.[10]
이 시점 이후 기록적인 시도는 2010년대 후반 클라우드 컴퓨팅이 부상하기 전까지 비교적 적었다.현재 기록 보유자는 앤트 파이낸셜로 오션베이스가 알리바바를 지배하고 있다.2019년 8월, 그들은 2013년 오라클의 800만 결과 이후 첫 시도인 6,000만 명을 조금 넘는 기록을 세웠다.다른 이들은 오라클의 기록이 단일 워크스테이션에 있는 반면 앤트는 완전한 컴퓨팅 팜을 필요로 한다는 것을 재빨리 지적했다.이런 불만을 잠재우기 위해 2020년 5월 개미는 7억7천7백만이라는 신기록을 세웠다.이 기록은 오늘날까지 유효하다.[11]
설명
TPC-C는 DEC에 의해 TPC에 제시된 주문 입력 작업량에 기초한다.이전의 TPC-A 벤치마크는 주로 실제 사용 패턴과 일치하지 않는 단순 직불/신용 부기 시스템의 운영과 일치하는 데이터베이스 업데이트에 초점을 맞추었다.운영 워크로드의 샘플에서는 실제 패턴을 보다 적절하게 표현하기 위해 업데이트와 읽기 전용 작업이 포함된 삽입물을 보다 복잡하게 혼합해야 한다는 것을 보여주었다.게다가, TPC-A 데이터베이스는 그다지 복잡하지 않았다; 실제 시스템은 그들의 데이터를 더 다양한 크기와 복잡성의 더 많은 표에 분산시킨다.[12]
TPC-C는 총 9개의 테이블이 있는 데이터베이스 스키마를 사용한다.구조는 W. W.가 최소 10의 값을 가지며, W를 스케일링 계수로 사용하여 시험한 시스템의 포화 수준에 맞도록 증가시켜야 하는 창고 표에 의해 주로 구동된다.보고된 성능 지표는 12.86 x W.[1] 창고는 모두 동일한 품목 카탈로그의 재고를 유지한다.Item 테이블은 10만 행이고 Stock 테이블은 W x 10만 행이다.스키마의 두 번째 분기는 구역이며 각 창고마다 10개의 항목이 있다.구역마다 고객이 있으며, 구역당 3000명.그들은 주문당 5개에서 15개의 주문라인으로 주문을 생성한다.이는 주문선이 가장 큰 테이블이라는 것을 의미하며, 약 W(대상) x 3000(고객) x 10(초기 주문) x 10(주문 라인) = W x 30만 개의 항목이다.주문 작성 프로세스는 하나 이상의 창고와 관련된 재고 항목과 상호 작용한다.[13]
이 활동은 일련의 W x 10 가상 단말기가 반랜덤 공식에 따라 트랜잭션을 입력하는 것으로 구성된다. 주요 트랜잭션은 단일 주문을 생성하는 New-Order이다.각 주문은 하나의 결제 거래와 하나의 배송으로 귀결된다.10개의 뉴오더 트랜잭션마다 하나의 주문 상태 및 하나의 재고 수준 트랜잭션이 생성된다."원격 단말기 에뮬레이터"(RTE)는 사용자의 데이터 입력, 타이핑 지연, 필드 간 및 트랜잭션 간 지연을 시뮬레이션하도록 프로그램되어 있다.또한 RTE는 각 거래에 대한 사용자의 요청과 그 완료 사이의 시간(응답 시간)을 추적한다.분당 뉴오더 트랜잭션 실행 속도는 tpmC 값(분당 거래 C)으로 보고되며 기준점의 1차 성과 지표를 나타낸다.[12]
초기 결과는 TPC-A에 비해 TPC-C의 작업량이 약 10배 복잡하다는 것을 보여주었다.TPC-A는 분당 TPC-C 결과에서 5개 중 44%인 1개 거래 유형만 포함되며, TPC-A는 초당 거래로 측정돼 모든 거래를 포함한다.즉, 이 두 숫자는 초 대 분으로 계산하기 위해 60을 곱하고 포함된 트랜잭션의 하위 집합을 설명하기 위해 2.3을 곱하여 약간의 변환 없이 직접 비교할 수 없다는 것을 의미한다.단일 머신인 IBM RS/6000 모델 570을 고려하면 TPC-A는 129tpsA의 값을 반환하는 반면 TPC-C는 365.45tpmC를 반환한다.tpmC에 2.3을 곱한 다음 60을 나누어 tpsA 항으로 변환하면 결과는 13.5로 약 9.5배의 성능 차이가 난다.[14]
또한 TPC-C 결과를 제출하려면 3년 동안 7/24 적용범위를 가진 하드웨어 및 소프트웨어 유지관리를 포함하여 시험한 구성의 세부 가격을 공시해야 한다.가격이 책정된 시스템은 시스템 자체뿐만 아니라 시스템을 60일 동안 견적된 tpmC 속도로 실행함으로써 생성된 데이터를 보관할 수 있는 충분한 스토리지도 포함해야 한다.이론적으로 tpmC가 1이면 히스토리에 252kB, 오더에 133kB, 오더라인에 1325kB의 항목이 생성된다.[15]총 시스템 가격은 측정된 tpmC와 결합되어 가격/성능 지표를 산출한다.일부 발표된 결과는 가장 높은 tpmC를 생산하기 위한 것이었지만, 더 많은 발표된 결과는 상대적으로 낮은 tpmC로 경쟁 가격/성능 범주에서 1위를 목표로 했다.[14]
벤치마크는 일반적으로 시스템 구성, 설정, 테스트 조건 및 수집된 모든 결과에 대한 전체 세부 정보가 포함된 공개 보고서를 제출해야 하는 주요 구성요소(예: 데이터베이스 시스템, 백엔드 서버 등)의 벤더에 의해 실행된다.[16]전체 벤치마크 구현, 모든 시험 단계, 측정된 결과, 시스템 가격 및 공시 보고서는 TPC가 인증한 독립 감사인에 의해 검증되어야 한다.[17]
참조
인용구
- ^ a b TPC 2010, 페이지 64.
- ^ 설린 1991년 20-21페이지.
- ^ 설린 1991년, 페이지 20.
- ^ 설린 1991년, 페이지 21-22.
- ^ 설린 1991, 페이지 21-30.
- ^ a b Chen, Raab & Katz 3.1 페이지.
- ^ a b 1998년, 페이지 3.3.2.
- ^ TPC 2010, 페이지 3
- ^ a b 샨리 1998.
- ^ Nambiar & Poess 2011, 페이지 117.
- ^ 개미 2020.
- ^ a b 라브, 콜러 & 샤.
- ^ Wevers et al. 2015, 페이지 7.
- ^ a b 1998년, 페이지 3.2.
- ^ Raab 1998, 페이지 3.1.
- ^ TPC 2010, 페이지 93–104.
- ^ TPC 2010, 페이지 105–109.
참고 문헌 목록
- Serlin, Omri (1991). "The History of Debitcredit and the TPC". The benchmark handbook for database and transaction processing systems. M. Kaufmann Publishers. pp. 19–38. ISBN 9781558601598.
- Chen, Yanpei; Raab, Francois; Katz, Randy. From TPC-C to Big Data Benchmarks: A Functional Workload Model. Workshop on Big Data Benchmarks. pp. 28–43. doi:10.1007/978-3-642-53974-9_4.
- Nambiar, Raghunath; Poess, Meikel (2011). "Transaction Performance vs. Moore's Law: A Trend Analysis". Lecture Notes in Computer Science. Springer-Verlag. doi:10.1007/978-3-642-18206-8_9.
- TPC Benchmark C Revision 5.11 (PDF) (Technical report). Transaction Processing Performance Council. February 2010.
- Shanley, Kim (February 1998). "Origins of the TPC and the first 10 years". Transaction Processing Performance Council.
- Raab, Francois; Kohler, Walt; Shah, Amitabh. "Overview of the TPC-C Benchmark, The Order-Entry Benchmark". Transaction Processing Performance Council.
- Raab, Francois (1998). Gray, Jim (ed.). The Benchmark Handbook (PDF).
- Morgan, Timothy Prickett (29 September 2009). "TPC slaps Oracle on benchmark claims". The Register.
- "TPC-C". Cockroach Labs.
- Wevers, Lesley; Hofstra, Matthijs; Tammens, Menno; Van Keulen, Maurice (January 2015). A Benchmark for Online Non-blocking Schema Transformations. 4th International Conference on Data Management Technologies and Applications. doi:10.5220/0005500202880298.
- "OceanBase Breaks TPC-C Record: A Dialogue with Ant Financial Experts". Alibaba Cloud. 5 June 2020.