首页 > 数据库 > 国内数据库 > YashanDB TPC-C测试介绍
本章节将介绍在YashanDB单机数据库上运行基于BenchmarkSQL的TPC-C测试的具体操作及相关示例。
TPC-C测试是针对业务处理系统的规范,该规范由TPC(Transaction Processing Performance Council)委员会制定,测试结果主要取决于流量指标和性价比指标,是最常用的在线事务处理(OLTP)测试基准。
TPC-C测试中模拟了大型商品批发商的交易业务场景,该批发商总共生产销售100000种产品,拥有多个负责不同区域的商品仓库,每个仓库需要为10个分销商进行供货,且每个分销商需要为3000个客户进行服务,对数据库进行TPC-C测试时可根据服务器及数据库的配置对商品仓库的数量进行调整,从而模拟出不同的压力场景。
业务场景中主要包含如下5类事务:
对YashanDB进行TPC-C测试前需对Benchmark SQL5进行配置,使之支持YashanDB数据库:


:wq保存并退出文件编辑。
:wq保存并退出文件编辑。执行如下命令进入benchmarksql-5.0目录,并执行ant命令进行编译:
Note:
如此时返回
ant:command not found,可通过执行yum install ant安装ant编译工具。
其中:
| 参数 | 含义 |
|---|---|
| db | 数据库,须与上述修改文件中添加的数据库名称相同 |
| driver | 驱动程序文件,须使用YashanDB的JDBC驱动 |
| conn | 连接描述符,格式为:
conn=jdbc:yasdb://ip:port/database_name |
| user | 数据库用户 |
| password | 数据库用户的密码 |
| warehouses | 用于指定测试中商品仓库的数量,通常测试场景为100~1000仓 |
| loadWorkers | 数据导入的并发数,通常设置为CPU线程总数的2~4倍 |
| terminals | 业务运行的并发数,通常设置为CPU线程总数的2~4倍 |
| runTxnsPerTerminal | 每个会话运行的固定事务数量,通常配置为0,以runMins限制测试时间 |
| runMins | 用于指定测试运行的时间,通常建议压测时间为10~30分钟 |
| limitTxnsPerMin | 每秒事务数上限,压测场景下通常设置为0 |
| terminalWarehouseFixed | 会话和仓库的绑定模式,通常设置为true |
| newOrderWeight
paymentWeight orderStatusWeight deliveryWeight stockLevelWeight |
五种事务的占比,所有值的和须为100
标准的业务比率配置为45:43:4:4:4 |
| resultDirectory | 指定存储测试结果的目录。%tY、%tm、%td、%tH、%tM和%tS是时间格式化参数 |
| osCollectorScript | 指定操作系统收集器的脚本路径。通常用于收集操作系统资源使用情况的统计信息,例如CPU使用率、内存使用情况、磁盘I/O等 |
| osCollectorInterval | 指定操作系统收集器脚本运行间隔(单位:秒) |
:wq保存并退出文件编辑。funcs.sh文件::wq保存并退出文件编辑。执行此步骤前须确保已安装YashanDB JDBC驱动,本例中驱动包所在路径为/home/yashan/yashandb_jdbc/。
执行如下命令添加驱动:
:wq保存并退出文件编辑。最佳性能数据会因为测试环境的CPU、内存、IO、网络条件差异而不同,为了让YashanDB在测试环境上达到最佳的TPC-C性能表现,需要根据测试环境的配置进行性能调优,数据库性能调优的详细信息请查阅 YashanDB性能调优文档。
TPC-C测试调优主要分为参数配置调优和建库配置调优:
数据库参数配置调优
在TPC-C测试场景下主要关注缓存大小与分区、IO参数等性能参数的配置。
以1000仓、256并发的测试场景为例,推荐配置以下性能调优参数:
数据库配置参数的详细说明请查阅 配置参数。
数据库建库配置调优
Note:
安装部署后,YashanDB将默认创建一个初始数据库,可根据实际需求删除初始数据库(DROP DATABASE)后自定义创建数据库(不适用于标准版或企业版的分布式部署)。
创建数据库时主要关注以下方面:
在实际使用过程中,也应及时调整redo文件、DATA文件等相关配置,具体可查阅 文件管理。
如果存储条件允许,请将redo文件与数据文件分盘部署,以减少两者间的IO争用,以1000仓、256并发的测试场景为例,推荐的建库语句如下:
数据库配置参数和建库配置调优的详细介绍请查阅 数据库配置调优。
在/home/yashan/tpc-c/benchmarksql-5.0/run目录中,执行如下命令进行数据清理:

目录中执行如下命令进行数据导入:

执行如下语句进行TPC-C测试:

测试结果中的tpmC值表示每分钟内系统处理的新订单个数,即系统最大吞吐量。tpmC值常作为性能指标,值越高表示数据库性能越好。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3074138/ ,如需转载,请注明出处,否则将追究法律责任。