TPC-C
TPC-C(Transaction Processing Performance Council - Benchmark C)是一个常用的 OLTP(Online Transaction Processing)基准测试,用于评估数据库系统处理复杂事务负载的性能。TPC-C测试涉及模拟一个具有多个分部、客户、库存等元素的批发贸易公司的场景,测量数据库系统在处理这些负载时的性能表现。
表设计
TPC-C基准测试包含以下主要表,每个表都表示了贸易公司业务中的不同方面和对象:
-
Warehouse(仓库表): 代表了贸易公司中的仓库,存储了商品的存量和其他与仓储相关的信息。
-
District(区域表):代表了贸易公司的区域,每个仓库包含多个区域,存储了与区域相关的客户和交易信息。
-
Customer(客户表):存储了贸易公司的客户信息,包括客户的姓名、地址、信用信息等。
-
History(历史交易表):记录了客户过往的交易历史,用于分析客户的购买行为和交易模式。
-
Order(订单表):存储了客户的订单信息,包括订单号、日期、总金额等。
-
Order Line(订单明细表):记录了订单中每个商品的明细信息,包括商品编号、数量、价格等。
-
Item(商品表):存储了公司销售的商品信息,包括商品编号、描述、价格等。
-
Stock(库存表):记录了仓库中每种商品的库存信息,包括库存数量、状态等。
这些表共同组成了一个完整的模拟贸易公司的数据库,用于评估数据库系统在处理类似业务场景的复杂事务负载时的性能表现。
业务设计
“newOrderWeight=45 paymentWeight=43 orderStatusWeight=4 deliveryWeight=4 stockLevelWeight=4” 这个配置表示了在TPC-C基准测试中不同业务的权重分配,具体含义如下:
newOrderWeight: 表示“新订单处理业务”的权重,权重值为45,表明在整个测试中,新建订单的业务将占据较大比重。
paymentWeight: 表示“支付业务”的权重,权重值为43,表明支付业务在整个测试中也占据较大比重。
orderStatusWeight: 表示“订单状态查询业务”的权重,权重值为4,表明订单状态查询在整个测试中的比重较小。
deliveryWeight: 表示“交付业务”的权重,权重值为4,表明交付业务在整个测试中的比重较小。
stockLevelWeight: 表示“库存查询业务”的权重,权重值为4,表明库存查询在整个测试中的比重较小。
这些权重值的设定反映了在TPC-C基准测试中不同业务对性能的重要程度,有助于对数据库系统在处理不同类型事务时的性能表现进行评估。