Page 246 - 《软件学报》2025年第7期
P. 246

张孝 等: 区块链测试基准综述                                                                 3167


                    (1) 静态特征指的是负载在某个时间点上的固定属性或状态, 包括交易种类和比例、交易频率和数据大小等,
                 描述了负载的基本属性.
                    ● 交易种类和比例: 描述不同类型的交易操作, 以及每种交易所占的比例, 反映了应用场景的主要操作类型.
                 在企业调研报告中显示, 有些应用场景以插入和更新为主, 例如航天信息的交通运输场景, 有些应用场景以查询为
                 主, 如北京大数据中心的政务场景. 在供应链应用场景中, 交易操作类型主要包含订单创建、订单状态更新、物流
                 信息更新和库存数量更新等, 每一种交易类型比例可能是不同的.
                    ● 交易频率: 在一定时间内交易的提交速率. 例如, 每分钟提交的订单数量或每小时更新的物流状态数量.
                    ● 数据大小: 交易中涉及的数据大小, 即每个交易中包含的信息量. 例如, 订单交易中包含的产品数量、物流
                 信息交易中包含的位置数据等.
                    ● 并发用户的数量: 确定参与测试的客户端数量. 客户端的数量会影响系统的负载和性能表现, 需根据业务应
                 用场景进行合理设置.
                    (2) 动态特征指的是负载在一段时间内的变化, 包括负载频率变化、峰值负载和负载类型变化等特性, 描述了
                 负载的变化模式.
                    ● 负载频率变化: 描述交易提交频率随着时间发生的变化. 例如在供应链场景中, 节假日或者特殊促销期间,
                 交易的提交频率会增加, 而在工作日, 交易的提交频率可能相对较低.
                    ● 峰值负载: 描述负载的最高水平, 即在某个时间点上负载达到的峰值. 例如在电商应用场景中, 每年的双                              11
                 购物节零点, 订单数量会激增出现峰值负载. 股票应用场景中, 每天早晨                    9  点出现交易峰值.
                    ● 负载类型变化: 交易类型随着时间发生的变化. 例如在银行的营业时间内, 负载的类型以转账、支付、存款
                 和取款等在线交易为主, 而且非营业时间或深夜时段, 负载的类型批量更新、对账清算和报表分析等交易为主.
                    测试基准的负载需要同时考虑负载的静态和动态特征, 以准确地模拟真实场景下的负载.

                 4.4   指 标
                    区块链测试基准中的指标, 主要包含指标定义和指标计算两部分, 如图                      7  所示.


                                                              指标



                                             指标定义                           指标计算


                                  性能    资源效率      扩展性      安全性         日记收集       区块查询

                                                    图 7 基准指标的组成

                 4.4.1    指标定义
                    根据第   3  节的内容, 将区块链的指标划分为         4  个主要维度: 性能、资源效率、安全性和扩展性. 这些指标描绘
                 了区块链系统在各个方面的表现, 为我们评估系统的性能和可行性提供了依据. 在设定区块链的测试基准时, 我们
                 可以根据业务场景和需求, 选择一组或多组度量指标来衡量待测系统的性能. 以金融支付应用场景为例, 吞吐率和
                 延迟就是关键的指标. 由于系统需要处理大量的交易, 我们可以通过测试每秒处理的交易数量                              (TPS) 来评估系统
                 的吞吐率. 同时, 通过测试交易确认所需的时间, 我们可以评估系统的响应速度和延迟.

                 4.4.2    指标计算
                    区块链的交易与传统数据库的交易有一些不同之处. 区块链的交易通常需要经过一定的时间和一定数量的区
                 块确认才能被视为有效和不可逆转. 因此, 区块链的指标计算过程相对于数据库来说更加复杂. 目前, 计算区块链
                 指标的方式主要包括日志收集和区块查询两种方法. 这两种方法都在真实的区块链网络中进行, 以收集系统的性
   241   242   243   244   245   246   247   248   249   250   251