Page 238 - 《软件学报》2025年第7期
P. 238
张孝 等: 区块链测试基准综述 3159
执行规则要求测试过程中先执行 RF1, 然后执行 22 个 QUERY, 最后执行 RF2.
TPC-DS 是 TPC 在 2012 年发布的一个面向商品零售场景的测试基准. 其数据模型采用雪花模型, 包含
Store_Sales、Store_Returns、Catalog_Sales 等 7 个事实表和 Store、Call_Center、Catalog_Page、Web_Site、
Web_Page 等 17 个维度表, 每个表包含 18 个字段. 数据集同样由标度因子决定, 具有 1T–100T 的多个不同规模.
负载包括 99 个随机可替换的 SQL 查询和数据维护任务 (DM). 查询语句包含多 Join 和聚合运算, 分析的数据量
大, 旨在回答真实场景下的商业问题. 指标主要包括每小时内执行完毕的查询数 QphDS@SF、单位性能指标上的
价格以及系统开放的可用时间. 执行规则要求基准测试按照如下的顺序进行: Load Test (数据加载测试)、Power
Test (性能测试)、Throughput Test 1 (吞吐量测试 1)、Data Maintenance Test 1 (数据维护测试 1)、Throughput Test 2
(吞吐量测试 2)、Data Maintenance Test 2 (数据维护测试 2). 其中, Power Test 是单线程执行 99 个查询, 而
Throughput Test 是多线程并行执行查询, 相当于是压测.
2.2.3 同时支持 OLTP+OLAP 的数据库测试基准
CH-Benchmark 用于评估 HTAP 数据库在处理混合事务和分析查询时的性能. 它融合了 TPC-C 和 TPC-H 两
种基准. 数据模型修改了 TPC-C 中的 9 个表和 TPC-H 中的 8 个表, 合并成了 12 个表, 并统一了数据集的伸缩模
型. 负载包含了 TPC-C 中的 5 个事务以及 TPC-H 的 22 条查询, 删掉了更新语句 (RF1, RF2). 指标包括每分钟事
务 (TpmC) 和每小时已完成查询 (queries per hour, QphH) 的指标. 基准测试的执行规则要求先仅测试 OLTP 或
OLAP, 然后混合执行 (OLTP+OLAP).
测试基准在数据库领域起到了至关重要的作用. 它提供了标准化的测试环境和指标, 可以客观地评估和比较
不同数据库系统在各种应用场景下的性能. 通过这些基准, 开发者和系统管理员能够更深入地理解数据库系统的
性能特性, 从而根据具体的应用需求进行优化和调整. 通过不断改进和完善测试基准, 可以促进数据库系统的发展
和创新, 进而推动数据库技术的进步.
3 指 标
区块链度量指标是评估区块链系统质量、性能和可扩展性的基础, 主要分为 4 类, 如表 2 所示: (1) 性能指标,
包括吞吐率、延迟等; (2) 资源效率指标, 包括利用 CPU、内存、硬盘 IO、网络传输、功耗的效率; (3) 安全性指
标, 指区块链部分节点出现拜占庭错误时系统性能受影响情况; (4) 扩展性指标, 指区块链系统在增加负载或参与
节点时, 性能的变化情况. 这些指标为区块链系统在不同方面的表现提供了量化的衡量, 帮助我们了解系统的运行
情况、性能瓶颈和潜在问题.
表 2 区块链评估指标
分组 指标 描述
吞吐率 衡量区块链系统处理交易能力的指标, 通常以每秒处理的交易数 (TPS) 为单位
性能指标
延迟 衡量从提交交易到交易被确认所需的时间, 反映了区块链系统的响应速度
CPU 效率 衡量区块链系统对计算资源利用效率的指标
内存效率 评估区块链系统对内存资源的使用效率
资源效率指标 磁盘 IO 效率 衡量区块链系统对存储资源利用效率的指标
网络传输效率 评估区块链系统对网络资源的使用效率
功耗效率 评估区块链系统对能源的使用效率
孤儿块率 衡量区块链系统受到攻击时网络分叉率
安全性指标
性能下降率 衡量区块链系统受到攻击时性能下降的程度
吞吐率扩展指标 衡量区块链系统在增加负载或参与节点数量时, 吞吐率增加与节点数量增加的比值
扩展性指标
延迟扩展指标 衡量区块链系统在增加负载或参与节点数量时, 延迟时间增加与节点数量增加的比值
上述指标并不是完全独立的. 从指标定义可以看出, 性能指标定义了吞吐率和延迟, 不依赖于其他指标, 是整
个指标体系的基础. 其余指标中, 只有孤儿块率和性能指标没有直接关联. 资源效率指标关注每单位吞吐率所消耗

