资讯专栏INFORMATION COLUMN

使用BenchmarkSQL对Polardb数据库进行TPCC测试

IT那活儿 / 936人阅读
使用BenchmarkSQL对Polardb数据库进行TPCC测试

点击上方“IT那活儿”,关注后了解更多内容,不管IT什么活儿,干就完了!!! 

 

TPC-C

 1. 测试模型
TPC-C测试用到的模型是一个大型的商品批发销售公司,它拥有若干个分布在不同区域的商品仓库。
当业务扩展的时候,公司将添加新的仓库。每个仓库负责为10个销售点供货,其中每个销售点为3000个客户提供服务,每个客户提交的订单中,平均每个订单有10项产品,所有订单中约1%的产品在其直接所属的仓库中没有存货,必须由其他区域的仓库来供货。
同时,每个仓库都要维护公司销售的100000种商品的库存记录。
2. 测试指标
TPC-C测试的结果主要有两个指标,即流量指标(Throughput,简称tpmC)和性价比(Price/Performance,简称Price/tpmC)。
  • 流量指标(Throughput,简称tpmC):按照TPC组织的定义,流量指标描述了系统在执行支付操作、订单状态查询、发货和库存状态查询这4种交易的同时,每分钟可以处理多少个新订单交易。

    所有交易的响应时间必须满足TPC-C测试规范的要求,且各种交易数量所占的比例也应该满足TPC-C测试规范的要求。在这种情况下,流量指标值越大说明系统的联机事务处理能力越高。

  • 性价比(Price/Performance,简称Price/tpmc):即测试系统的整体价格与流量指标的比值,在获得相同的tpmC值的情况下,价格越低越好。

 


 

BenchmarkSQL
 

1. 介绍

BenchmarkSQL是对OLTP数据库主流测试标准TPC-C的开源实现。目前最新版本为V5.1,该版本支持Firebird,Oracle和PostgreSQL数据库(5.0移除了Mysql的支持),测试结果详细信息存储在CSV文件中,并可以将结果转换为HTML报告。

2. 项目地址

网址:https://github.com/petergeoghegan/benchmarksql

3. 使用文档

关于BenchmarkSQL的使用,项目的HOW-TO-RUN.txt文档有详细的使用方法,以下为部分截图:

 测试过程

1. 环境变量和软装安装

1)环境变量如下:
2)JDK:
3)ANT:
4)BenchmarkSQL:
PolarDB-O JDBC驱动:
https://help.aliyun.com/document_detail/147247.html?spm=a2c4g.11174283.6.643.240f56ccLmKlmE

2. 压测配置

1)数据库配置:
  • polardb集群:2节点
  • polardb版本:11.9.20210731
  • 主机资源配置:32C 256G
2)配置连接PolarDB-O的⽂件props.polar

3)参数说明:
  • warehouse:BenchmarkSQL数据库每个warehouse大小大概是100MB,如果该参数设置为10,那整个数据库的大小大概在1000MB;
  • terminals:terminals指的是并发连接数,建议设置为服务器CPU总线程数的2-6倍;
  • loadWorkers:用于在数据库中初始化数据的加载进程数量,默认为4,实际使用过程中可以根据实际情况调整,加载速度会随worker数量的增加而有所提升;
  • runTxnsPerTerminal:每个终端(terminal)运行的固定事务数量,例如:如果该值设置为10,意味着每个terminal运行10个事务,如果有32个终端,那整体运行320个事务后,测试结束。该参数配置为非0值时,下面的runMins参数必须设置为0;
  • runMins:要测试的整体时间,单位为分钟,如果runMins设置为60,那么测试持续1小时候结束。该值设置为非0值时,runTxnsPerTerminal参数必须设置为0。这两个参数不能同时设置为正整数,如果设置其中一个,另一个必须为0,主要区别是runMins定义时间长度来控制测试时间,runTxnsPerTerminal定义事务总数来控制时间。

3. 数据导入

4. 压测

 


 

测试结果


参数解释:
TpmC:每分钟订单处理个数,该指标为tpc-c测试的性能指标,广泛用于衡量数据库事务处理能力。

 

 


END



 


本文作者:许 珣 

本文来源:IT那活儿(上海新炬王翦团队)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129537.html

相关文章

  • PG的两种集群技术:Pgpool-II与Postgres-XL

    摘要:最近研究了的两种集群方案,分别是和,在这里总结一下二者的机制结构优劣测试结果等。其中的前身的,的前身是。为了避免单点故障,可以为所有节点配置对应的节点。测试测试结果测试结果显示,两种集群与单机的性能指标几乎一致,无法分辨高下。 最近研究了PG的两种集群方案,分别是Pgpool-II和Postgres-XL,在这里总结一下二者的机制、结构、优劣、测试结果等。 1、 Pgpool-I...

    gitmilk 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<