一、TPCC 简介
1. TPCC 概念
- Approved in July of 1992, TPC Benchmark C is an on-line transaction processing (OLTP) benchmark. TPC-C is more complex than previous OLTP benchmarks such as TPC-A because of its multiple transaction types, more complex database and overall execution structure. TPC-C involves a mix of five concurrent transactions of different types and complexity either executed on-line or queued for deferred execution. The database is comprised of nine types of tables with a wide range of record and population sizes. TPC-C is measured in transactions per minute (tpmC). While the benchmark portrays the activity of a wholesale supplier, TPC-C is not limited to the activity of any particular business segment, but, rather represents any industry that must manage, sell, or distribute a product or service.
- TPC Benchmark C于1992年7月批准,是一个在线交易处理(OLTP)基准。TPC-C比以前的OLTP基准测试(如TPC-A)更复杂,因为它具有多种事务类型、更复杂的数据库和整体执行结构。TPC-C涉及五个不同类型和复杂度的并发事务的混合,要么在线执行,要么排队等待延迟执行。数据库由九种类型的表组成,这些表具有广泛的记录和总体大小。TPC-C以每分钟事务数(tpmC)来衡量。虽然基准描述了批发供应商的活动,但TPC-C并不局限于任何特定业务部门的活动,而是代表必须管理、销售或分销产品或服务的任何行业。
2. TPCC 链接
- 官方文档 : https://www.tpc.org/tpc_documents_current_versions/current_specifications5.asp
- 官方网站 : https://www.tpc.org/default5.asp
3. 规范概要
这类系统具有比较鲜明的特点,这些特点主要表现如下:
- 多种事务处理并发执行,充分体现了事务处理的复杂性;
- 在线与离线的事务执行模式;
- 多个在线会话终端;
- 适中的系统运行时间和应用程序运行时间;
- 大量的磁盘I/O数据流;
- 强调事务的完整性要求(ACID);
- 对于非一致的数据库分布,使用主键和从键进行访问;
- 数据库由许多大小不一、属性多样,而又相互关联的数据表组成;
- 存在较多数据访问和更新之间的资源争夺。
4. 测试指标
TPC-C测试的结果主要有两个指标,即流量指标(Throughput,简称tpmC)和性价比(Price/Performance,简称Price/tpmC)。
- 流量指标(Throughput,简称tpmC):按照TPC组织的定义,流量指标描述了系统在执行支付操作、订单状态查询、发货和库存状态查询这4种交易的同时,每分钟可以处理多少个新订单交易。所有交易的响应时间必须满足TPC-C测试规范的要求,且各种交易数量所占的比例也应该满足TPC-C测试规范的要求。在这种情况下,流量指标值越大说明系统的联机事务处理能力越高。
- 性价比(Price/Performance,简称Price/tpmc):即测试系统的整体价格与流量指标的比值,在获得相同的tpmC值的情况下,价格越低越好。
5. 事物说明
该系统需要处理的交易事务主要为以下几种:
- 新订单(New-Order) :客户输入一笔新的订货交易;
- 支付操作(Payment) :更新客户帐户余额以反映其支付状况;
- 发货(Delivery) :发货(模拟批处理交易);
- 订单状态查询(Order-Status) :查询客户最近交易的状态;
- 库存状态查询(Stock-Level) :查询仓库库存状况,以便能够及时补货。
6. TPCC 榜单 top 10
Hardware Vendor | System | v tpmC | Price/tpmC | Watts/KtpmC | System Availability | Database | Operating System | TP Monitor | Date Submitted |
Alibaba Cloud Elastic Compute Service Cluster | 707,351,007 | 3.98 CNY | NR | 06/08/20 | OceanBase v2.2 Enterprise Edition with Partitioning, Horizontal Scalability and Advanced Compression | Alibaba Aliyun Linux 2 | Nginx 1.15.8 | 05/18/20 | |
Alibaba Cloud Elastic Compute Service Cluster | 60,880,800 | 6.25 CNY | NR | 10/02/19 | OceanBase v2.2 Enterprise Edition with Partitioning, Horizontal Scalability and Advanced Compression | Alibaba Aliyun Linux 2 | Nginx 1.15.8 | 10/01/19 | |
SPARC SuperCluster with T3-4 Servers | 30,249,688 | 1.01 USD | NR | 06/01/11 | Oracle Database 11g R2 Enterprise Edition w/RAC w/Partitioning | Oracle Solaris 10 09/10 | Oracle Tuxedo CFSR | 12/02/10 | |
IBM Power 780 Server Model 9179-MHB | 10,366,254 | 1.38 USD | NR | 10/13/10 | IBM DB2 9.7 | IBM AIX Version 6.1 | Microsoft COM+ | 08/17/10 | |
SPARC T5-8 Server | 8,552,523 | .55 USD | NR | 09/25/13 | Oracle 11g Release 2 Enterprise Edition with Oracle Partitioning | Oracle Solaris 11.1 | Oracle Tuxedo CFSR | 03/26/13 | |
Sun SPARC Enterprise T5440 Server Cluster | 7,646,486 | 2.36 USD | NR | 03/19/10 | Oracle Database 11g Enterprise Edition w/RAC w/Partitioning | Sun Solaris 10 10/09 | Oracle Tuxedo CFSR | 11/03/09 | |
IBM Power 595 Server Model 9119-FHA | 6,085,166 | 2.81 USD | NR | 12/10/08 | IBM DB2 9.5 | IBM AIX 5L V5.3 | Microsoft COM+ | 06/10/08 | |
Bull Escala PL6460R | 6,085,166 | 2.81 USD | NR | 12/15/08 | IBM DB2 9.5 | IBM AIX 5L V5.3 | Microsoft COM+ | 06/15/08 | |
Sun Server X2-8 | 5,055,888 | .89 USD | NR | 07/10/12 | Oracle Database 11g R2 Enterprise Edition w/Partitioning | Oracle Linux w/Unbreakable Enterprise Kernel R2 | Oracle Tuxedo CFSR | 03/27/12 | |
Sun Fire X4800 M2 Server | 4,803,718 | .98 USD | NR | 06/26/12 | Oracle Database 11g R2 Enterprise Edition | Oracle Linux w/Unbreakable Enterprise Kernel R2 | Oracle Tuxedo CFSR | 01/17/12 |
二、TPCC工具与文件相关介绍
- htop 观察CPU使用情况,arm平台需要从源码编译,使用htop监控数据库服务端和tpcc客户端CPU利用情况,最佳性能测试情况下,各个业务CPU的占用率都非常高(> 90%)。如果有CPU占用率没有达标,可能是绑核方式不对或其他问题,需要定位找到根因进行调整。
- 区域一:CPU、内存、Swap的使用情况;
- 区域二:任务、线程、平均负载及系统运行时间的信息。平均负载部分提供了三个数字,这仅仅表示的是过去的5分钟、10分钟和15分钟系统的平均负载而已。uptime标示的数字是从系统启动起到当前的运行总时间。
- 区域三:当前系统中的所有进程。各列说明:
PID:进程标志号,是非零正整数
USER:进程所有者的用户名
PR:进程的优先级别
NI:进程的优先级别数值
VIRT:进程占用的虚拟内存值
RES:进程占用的物理内存值
SHR:进程使用的共享内存值
S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
%CPU:该进程占用的CPU使用率
%MEM:该进程占用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间
COMMAND:进程启动的启动命令名称
- 区域四:当前界面中F1-F10功能键中定义的快捷功能。
下图是最佳性能测试情况下所有CPU的使用情况,其中黄线框中的是处理网络中断的CPU。
- iostat 查看系统IO使用情况
- sar 查看网络使用情况