一种用于分布式账本的性能分析方法技术

技术编号:21479621 阅读:26 留言:0更新日期:2019-06-29 05:15
本发明专利技术提供了一种用于分布式账本的性能分析方法,包括步骤:步骤101,设置性能测量点:在分布式账本程序中,以最低侵入的方式,在关键节点埋入测量点,并通过接口暴露出来,以便采集;步骤102,采集性能数据并分析:针对分布式账本进行基准测试,同时采集数据,并从交易、时间和指标三个维度进行性能测量和图形化展示;步骤103,代码级别性能剖析:在分布式账本运行时,对计算资源、内存资源和阻塞情况进行剖析,寻找性能瓶颈,从而辅助迭代调优。本方法能够精确定位性能瓶颈点,以便开发人员从算法和逻辑层面进行精准的性能调优。

【技术实现步骤摘要】
一种用于分布式账本的性能分析方法
本专利技术涉及分布式账本
,特别是涉及用于分布式账本的性能分析方法。
技术介绍
分布式账本技术是基于分布式信息存储、P2P、共识机制、加密算法、密码学等计算机技术的新型应用模式,是一揽子技术的组合模型,实现了数据的分布式存储和交易的去中心化,以及信息可追溯且不可篡改。分布式账本(Distributedledger)是一种在网络成员之间共享、复制和同步的数据库。分布式账本记录网络参与者之间的交易,比如资产或数据的交换。这种共享账本消除了调解不同账本的时间和开支。分布式分类帐(也称为共享分类帐,或称为分布式分类技术)是一个复制的共识,共享和同步数字数据在地理上分布在多个网站,国家,或机构,没有中心管理员或集中数据存储。一个点对点网络是必需的,以及共识算法以确保在节点间进行复制。网络中的参与者根据共识原则来制约和协商对账本中的记录的更新。没有中间的第三方仲裁机构(比如金融机构或票据交换所)的参与。分布式账本中的每条记录都有一个时间戳和唯一的密码签名,这使得账本成为网络中所有交易的可审计历史记录。分布式账本技术产生的算法是一种强大的、具有颠覆性的创新,它有机会变革公共与私营服务的实现方式,并通过广泛的应用场景去提高生产力。分布式账本,从实质上说就是一个可以在多个站点、不同地理位置或者多个机构组成的网络里进行分享的资产数据库。在一个网络里的参与者可以获得一个唯一、真实账本的副本。账本里的任何改动都会在所有的副本中被反映出来,反应时间会在几分钟甚至是几秒内。在这个账本里存储的资产可以是金融、法律定义上的、实体的或是电子的资产。在这个账本里存储的资产的安全性和准确性是通过公私钥以及签名的使用去控制账本的访问权,从而实现密码学基础上的维护。根据网络中达成共识的规则,账本中的记录可以由一个、一些或者是所有参与者共同进行更新。然而,分布式账本技术在实现普遍应用前,还需要解决一系列的障碍,“性能”就是其中重要一环。目前现有技术中还没有针对分布式账本的性能分析技术出现和突破。
技术实现思路
有鉴于此,本专利技术提供并非针对分布式账本的性能提升展开讨论,而是聚焦于分布式账本的性能测量和剖析,从而为性能调优提供丰富且准确的数据作为参考的技术方案。本专利技术的目的在于提供一种用于分布式账本的性能分析方法,包括步骤:步骤101,设置性能测量点:在分布式账本程序中,以最低侵入的方式,在关键节点埋入测量点,并通过接口暴露出来,以便采集;步骤102,采集性能数据并分析:针对分布式账本进行基准测试,同时采集数据,并从交易、时间和指标三个维度进行性能测量和图形化展示;步骤103,代码级别性能剖析:借助语言层面的性能数据,进行方法和数据结构粒度上的剖析,在分布式账本运行时,对计算资源、内存资源和阻塞情况进行剖析,寻找性能瓶颈,从而辅助迭代调优。优选的,所述步骤101的所述接口采用HTTPRESTAPI的方式,将数据以与prometheus工具兼容的数据格式给出。优选的,所述步骤102采用技术栈进行性能数据的统计分析和可视化展示。优选的,所述步骤102采用性能测试工具进行,通过重复性地向APIgateway发送交易,并分析响应结果,来统计TPS数据,借助所述性能测试工具,收集不同交易压力下的性能数据,并进行分析。优选的,所述步骤102中所采集的所述性能数据包括:对交易进行跟踪所得到的数据以及趋势型的指标,所述对交易进行跟踪所得到的数据最终得到的是时长类的统计结果,所述主趋势型的指标获得对交易处理过程中数量的统计。优选的,所述步骤102中所述交易、时间和指标三个维度任意两个维度两两组合得到三种角度的分析结果:1)“指标+时间”,即对于单个交易,各个指标随时间的变化情况,为交易生命周期时长类型的;2)“交易+时间”,即趋势类指标随时间的变化情况;3)“交易+指标”,即速率类指标;通过所述三个角度的分析,从交易处理环节的粒度获得性能瓶颈,为性能调优提供指导。优选的,所述步骤103使用pprof工具库来进行代码级别的性能剖析,在程序代码中加入pprof支持,通过指定的接口获取运行时的资源使用数据。优选的,将通过指定的接口获取运行时的资源使用数据生成火焰图,直观地进行分析。优选的,所述运行时的资源使用数据为高负荷运行状态下的性能数据。优选的,所述步骤103中所述对计算资源、内存资源和阻塞情况进行剖析包括:步骤1031,分析CPU资源的利用情况:采集一段时间的数据,对于CPU的使用,其数据粒度细化到方法级别,从CPU执行时长占比来分析,定位执行时长的占比较高的部分;步骤1032,分析内存的使用情况:采集和反应瞬时Heap的状态数据,通过每隔一段时间采集一次数据进行比对,解决程序BUG导致的对象或数据结构被占用而无法被释放以及内存泄漏或过量占用问题;步骤1033,分析同步阻塞的情况:定位因同步阻塞等待而导致整体性能下降的方法。本专利技术的有益效果:本专利技术所阐述的针对分布式账本的性能剖析方法,首先,通过埋入性能检测点,并暴露出性能数据接口,以便研发人员采集性能数据;然后,对性能数据展开分析,从环节上初步定位性能的瓶颈;最后,借助语言层面的性能数据,进行方法和数据结构粒度上的剖析,精确定位性能瓶颈点,以便开发人员从算法和逻辑层面进行精准的性能调优。根据下文结合附图对本专利技术具体实施例的详细描述,本领域技术人员将会更加明了本专利技术的上述以及其他目的、优点和特征。附图说明后文将参照附图以示例性而非限制性的方式详细描述本专利技术的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。本专利技术的目标及特征考虑到如下结合附图的描述将更加明显,附图中:图1为根据本专利技术实施例的典型分布式账本的基本功能结构以及交易处理流程图;图2为根据本专利技术实施例的技术栈进行性能数据的统计分析和可视化展示的示意图;图3为根据本专利技术实施例的两种类型数据经过处理获得具有指标、交易和时间三个维度的示意图;图4为根据本专利技术实施例的从交易处理环节的粒度中吞吐量类指标获取是影响性能的瓶颈环节示意图;图5为根据本专利技术实施例的数据生成的火焰图。具体实施方式为了使得本专利技术能够针对其专利技术要点更加明显易懂,下面将结合附图和实例对本专利技术作进一步的说明。在下面的描述中阐述了很多细节和具体实例,提供这些实例是为了能够更透彻地理解本专利技术,并且能够将本专利技术完整形象地传达给本领域的技术人员。虽然本专利技术能够以很多不同于此的描述的其它方式实施,但是本领域技术人员可以在不违背本专利技术内涵的情况下做相应的推广,因此本专利技术不受下面公开的具体实例及具体附图所限制。一种用于分布式账本的性能分析方法,包括步骤:步骤101,设置性能测量点:在分布式账本程序中,以最低侵入的方式,在关键节点埋入测量点,并通过接口暴露出来,以便采集;参见图1,典型的分布式账本的基本功能结构以及交易处理流程如图1所示。如图所示,交易请求发送至某节点的APIgateway后,会被移交至TXpool(交易池),同时通过P2P网络发送至其他节点,交易池中的交易被producer取走并经过共识打包做块,最终被保存入库。通过在这一过程的重要环节埋入测量点,即可实现对交易的追踪,以及对性能的测量分本文档来自技高网
...

【技术保护点】
1.一种用于分布式账本的性能分析方法,其特征在于包括步骤:步骤101,设置性能测量点:在分布式账本程序中,以最低侵入的方式,在关键节点埋入测量点,并通过接口暴露出来,以便采集;步骤102,采集性能数据并分析:针对分布式账本进行基准测试,同时采集数据,并从交易、时间和指标三个维度进行性能测量和图形化展示;步骤103,代码级别性能剖析:借助语言层面的性能数据,进行方法和数据结构粒度上的剖析,在分布式账本运行时,对计算资源、内存资源和阻塞情况进行剖析,寻找性能瓶颈,从而辅助迭代调优。

【技术特征摘要】
1.一种用于分布式账本的性能分析方法,其特征在于包括步骤:步骤101,设置性能测量点:在分布式账本程序中,以最低侵入的方式,在关键节点埋入测量点,并通过接口暴露出来,以便采集;步骤102,采集性能数据并分析:针对分布式账本进行基准测试,同时采集数据,并从交易、时间和指标三个维度进行性能测量和图形化展示;步骤103,代码级别性能剖析:借助语言层面的性能数据,进行方法和数据结构粒度上的剖析,在分布式账本运行时,对计算资源、内存资源和阻塞情况进行剖析,寻找性能瓶颈,从而辅助迭代调优。2.根据权利要求1所述的一种用于分布式账本的性能分析方法,其特征在于:所述步骤101的所述接口采用HTTPRESTAPI的方式,将数据以与prometheus工具兼容的数据格式给出。3.根据权利要求1所述的一种用于分布式账本的性能分析方法,其特征在于:所述步骤102采用技术栈进行性能数据的统计分析和可视化展示。4.根据权利要求1所述的一种用于分布式账本的性能分析方法,其特征在于:所述步骤102采用性能测试工具进行,通过重复性地向APIgateway发送交易,并分析响应结果,来统计TPS数据,借助所述性能测试工具,收集不同交易压力下的性能数据,并进行分析。5.根据权利要求1所述的一种用于分布式账本的性能分析方法,其特征在于:所述步骤102中所采集的所述性能数据包括:对交易进行跟踪所得到的数据以及趋势型的指标,所述对交易进行跟踪所得到的数据最终得到的是时长类的统计结果,所述主趋势型的指标获得对交易处理过程中数量的统计。6.根据权利要求1所述的一种用于分布式账本的性能分析方法,其特...

【专利技术属性】
技术研发人员:刘康赵祯龙孟庆龙樊云龙荆帅帅白文腾
申请(专利权)人:北京世纪诚链科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1