一种基于cgroup的联盟链系统性能测试及预测方法技术方案

技术编号:36945803 阅读:22 留言:0更新日期:2023-03-22 19:07
本发明专利技术公开一种基于cgroup的联盟链系统性能测试,包括以下步骤:S1:确认进程数组合;S2:根据组合内容启动各个进程、记录各个进程的PID;S3:确认每个进程使用的资源,并进行排列组合,形成配置组合;S4:根据配置组合使用cgroup限制各个进程,本发明专利技术还提出基于cgroup的联盟链系统性能测试的预测方法,包括以下步骤:M1:收集测试数据;M2:整合测试数据;M3:数据拟合和预测,本发明专利技术模拟进程在多台机器以及不同配置下运行、并获取区块链系统的性能,极大地降低测试所需资源,减少费用,同时利用多元线性回归的方法对测试数据进行拟合,之后可以预测在不同组合和不同配置下区块链系统所能达到的性能,有助于帮助我们分析系统的性能瓶颈。瓶颈。

【技术实现步骤摘要】
一种基于cgroup的联盟链系统性能测试及预测方法


[0001]本专利技术涉及联盟链系统性能测试
,尤其涉及一种基于cgroup的联盟链系统性能测试及预测方法。

技术介绍

[0002]联盟链,只针对某个特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,每个块的生成由所有的预选节点共同决定。
[0003]当前,需要联盟链系统都采用并行交易执行以及状态分片的技术,来提供区块链系统的性能,例如长安链、FISCOBCOS,蚂蚁链等。这类联盟链系统将原来的单进程节点扩展为多进程,一般包括三类进程:controller、worker、storage,其中controller负责调度,例如根据交易的依赖关系构造DAG,并分发互不依赖的交易给worker;worker收到来自controller的交易,会解析交易内容,并从storage获取读集R并进行计算,得到写集W,之后将写集W发送至storage进行更新;storage主要负责存储数据和更新数据。因此,在这类分片联盟链系统中,CPU、内存、磁盘IO会影响这三类进程的性能,进而影响本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于cgroup的联盟链系统性能测试,其特征在于,包括以下步骤:S1:确认进程数组合;S2:根据组合内容启动各个进程、记录各个进程的PID;S3:确认每个进程使用的资源,并进行排列组合,形成配置组合;S4:根据配置组合使用cgroup限制各个进程;S5:发送交易进行压测;S6:记录当前组合的性能数据。2.根据权利要求1所述的一种基于cgroup的联盟链系统性能测试,其特征在于,所述S1中,确认此轮测试各个进程的数据量,将一个组合记录为:combination=(1*M*N),代表1个controller和M个worker和N个storage。3.根据权利要求1所述的一种基于cgroup的联盟链系统性能测试,其特征在于,所述S2中,根据组合(1*M*N)(启动1个controller进程、M个worker和N个storage,并记录进程PID组合为:C1*[W1,W2,...,W
M
]*[S1,S2,...,S
N
]。4.根据权利要求1所述的一种基于cgroup的联盟链系统性能测试,其特征在于,所述S3中,包括下步骤:a)确认controller使用的资源:controller使用的资源表示为:R
c
=[Rc
cpu
,Rc
mem
,Rc
io
],其中Rc
cpu
为核心数、Rc
mem
为内存使用量,Rc
io
为磁盘读写速度;b)确认worker使用的资源:worker使用的资源表示为R
w
=[Rw
cpu
,Rw
mem
];C)确认storage使用的资源:storage使用的资源表示为R
S
=[Rs
cpu
,Rs
mem
]。5.根据权利要求4所述的一种基于cgroup的联盟链系统性能测试,其特征在于,所述S4中,限制各个进程如下:A、限制CPU核心数:a)创建CPU控制组:使用以下命令创建一个控制controller进程的CPU控制组mkdir/sys/fs/cgroup/cpuset/controller;b)写入核心数:根据S3的a)的R
c
=[Rc
cpu
,Rc
mem
,Rc
io
],读取Rc
cpu
以知道controller此轮测试所要限制的CPU核心数,则使用以下命令写controller要使用操作系统的第x个到第y个CPU核心,其中:y

x+1=Rc
cpu
echo

x

y

>/sys/fs/cgroup/cpuset/controller/cpuset.cpus;c)写入进程PID:根据S2记录的PID组合,读取controller的PID,即C1,之后执行一下命令,正式限制controller使用的CPU核心:echo C1>/sys/fs/cgroup/cpuset/controller/cgroup.procs。B、限制内存使用量:a)创建内存控制组:使用以下命令创建一个控制controller进程的内存控制组mkdir/sys/fs/cgroup/memory/controller;b)写入内存使用量:使用前面创建的controller控制组,根据第S3中的a)的R
c
=[Rc
cpu
,Rc
mem
,Rc
io
],读取Rc
mem
,并换成byte,Rc
byte
=Rc
mem
*1024*1024*1024,之后使用以下命令写controller要使用操作系统内存使用量:echo Rc
byte
>/sys/fs/cgroup/memory/controller/memory.limit_in_bytes;c)写入进程PID:根据S2记录的PID组合,读取controller的PID,即C1,之后执行一下命
令,正式限制c...

【专利技术属性】
技术研发人员:李志伟梁伟杨策
申请(专利权)人:广东启链科技有限公司
类型:发明
国别省市:

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

1