
如果大家平时对数据库新闻比较关注的话,相信对上面的图片可能会有些印象,去年10月有个震惊业界的新闻是蚂蚁金服OceanBase数据库刷新了TPC-C纪录,打破了尘封已久的记录问鼎第一名。
这对国产数据库来讲是一件振奋人心的事情。
最近刚好有个契机需要对多款数据库进行性能压测,虽然业界做压测的工具很多,如:Sysbench、YCSB、TPC-C等,但是从行业使用的广泛程度、开源工具是否完善、是否支持多种数据库、压测负载是否更贴近真实业务等多方面却是差异很大。
经过对上述差异的多方面考虑,我们最后决定使用TPC-C负载模型。
TPC-C是用商品批发业务混合了只读和读写等复杂事务来模拟OLTP场景。
本文的目的是梳理TPC-C的特点以及工具使用,希望对同学们做TPC-C基准压测有所帮助。
话说TPCC
【 TPCC概念 】
Transaction Processing Performance Council (TPC) 事务处理性能委员会,是一家非盈利IT组织,他们的目的是定义数据库基准并且向产业界推广可验证的数据库性能测试。
而TPC-C最后一个C代表的是压测模型的版本,在这之前还有TPC-A、TPC-B。
A / B 两个版本模拟的是银行转账业务,相对业务模型比较简单,这里就不做过多说明,有感兴趣的朋友可以去TPC官网查找相关资料。
TPC-C自92年初发布,在过去20多年,不管是在业界还是学术界都是应用最为广泛的OLTP压测工具。
TPC-C具有以下特点:
1)多个复杂类型事务并发执行
2)具有在线和离线交易执行模式
3)多个会话终端模拟多用户访问
4)适中的系统运行时间和应用程序运行时间
5)整个操作有大量的磁盘IO读写操作
6)交易的事务具有完整的ACID特性
7)通过主键和二级索引对分布不均匀的数据进行访问
8)整个TPC-C的库是由许多包含不同字段属性和字段宽度的表组成
9)存在较多数据访问和更新之间的资源争夺
通过模拟批发供应商对客户的销售活动,TPC-C并不仅是体现了某个具体业务,而是代表了大部分销售活动,包含:管理、出售、分发产品和服务。
举个例子:可以模拟汽车租赁、食品批发、零部件供应等具体业务。
TPC-C压测作为一项基准测试,它并不能完整的展现生产上业务的多样性,而是做了很好的抽象只保留了此类活动的基本特征:如系统利用率和操作复杂程度,它的各

本文详细介绍了TPC-C数据库性能基准测试模型,重点讲解了其特点、业务场景、测试指标以及如何使用BenchmarkSQL进行Oracle压测。涵盖了交易类型、工具选型、部署教程和性能评估要点。

1万+

被折叠的 条评论
为什么被折叠?



