Hyperledger Caliper手册

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

系统架构总览

从最简单的形式上说,Caliper是一个针对待测系统(SUT)生成工作负载并持续 监测其响应的服务。在测试完毕后,Caliper可以基于观测到的SUT响应生成测试 报告。下图展示了这一简化的架构:

Caliper要求提供若干独立于待测试系统的输入来运行基准测试,在后续部分 我们将介绍这些输入。

基准测试配置文件

基准测试配置文件描述了一个基准测试应当如何执行,它告诉Caliper需要 运行多少轮,交易应当以什么速率提交,以及用什么模块生成交易内容。 在基准测试配置文件种也包含了监视待测试系统的相关设置。

你可以将这个配置文件视为基准测试的工作流编排器,其中的大部分设置都是 独立于被测试系统的,因此你可以在进行针对不同受测系统的多个基准测试时 复用其中的设置。

基准测试网络配置文件

网络配置文件的内容是与特定的待测试系统相关的。该配置文件通常描述 的内容包括:待测试系统的拓扑结构,节点的访问地址,采用什么身份访问网络, Caliper应当部署什么智能合约或者与哪个智能合约交互等等。

要了解具体的网络配置文件结构,请参考相应的待测试系统适配器的文档:

基准测试工作负载模块

工作负载模块是基准测试的大脑。由于Caliper是一个通用的基准测试框架, 它并不包含任何实际的基准测试实现。当Caliper为指定测试轮次调度交易时, 是由该轮次的工作负载模块来负责生成交易的内容并提交交易。每个轮次 可以关联不同的工作负载模块,因此基于测试阶段或行为区分你的工作负载实现 就很简单了。

工作负载模块就是简单的Node.JS模块,它必须按照约定导出指定的API函数。 除此之外,工作负载模块的逻辑是任意的,实际上,你可以使用任何合法的 Node.JS代码。

基准测试所依赖的额外资料

可能会需要额外的资料来运行一个基准测试,所需内容在不同的 基准测试中千差万别,不过通常会包含以下类型的资料:

  • 用于和待测试系统交互的表示身份的密码学资料
  • 需要Caliper部署的智能合约代码
  • 运行时配置文件
  • 你的工作负载模块所需的预安装的第三方软件包

请参考待测试系统的配置文件以了解详细的资料需求。