一种云主机中磁盘I/O极限性能测试方法和装置与流程

文档序号:34865629发布日期:2023-07-23 19:14阅读:56来源:国知局
一种云主机中磁盘I/O极限性能测试方法和装置与流程

本发明涉及云主机性能测试领域,尤其涉及一种云主机中磁盘i/o极限性能测试方法和装置。


背景技术:

1、云计算作为计算机网络领域的一次革命,正在深刻的改变社会的工作方式和商业模式。信息时代的数据呈指数级增长,对重要数据进行持久化显得尤为重要,这对云计算场景下的存储提出了更高的要求。虚拟化是云计算发展的基础,cpu可虚拟化、内存可虚拟化,存储也有对应虚拟化技术——存储虚拟化。存储虚拟化使存储设备能够转换为逻辑数据存储。数据存储是类似于文件系统的逻辑容器,隐藏了每个存储设备的特性,形成一个统一的模型,为云主机提供磁盘。存储虚拟化技术帮助系统管理存储资源,提高资源利用率和灵活性。计算、存储、网络、安全是云计算四个重要组成部分,为了衡量云计算中存储性能,通常的做法是使用主流的测试工具如fio、iometer等对磁盘或文件系统进行读写测试。iops和带宽(band width,简称bw)是衡量磁盘性能的两个重要指标。iops是指单位时间内系统能够处理的i/o请求数量,i/o请求通常为读或写数据操作请求。bw是指单位时间内可以成功传输的数据量。对于随机读写频繁的应用如oltp(online transaction processing),iops是关键衡量指标,对于大量顺序读写的应用如vod(video on demand),则更关注bw。

2、fio是一款开源的i/o压力测试工具,主要用于测试磁盘或文件系统的i/o性能。它可以支持13种不同的i/o引擎,包括sync、mmap、libaio等,在linux系统中具有简单易用的特点。然而,在实际项目应用中,我们发现fio的两个参数numjobs和iodepth对性能指标iops和bw影响很大,不同的参数组合会导致不同的iops和bw。在很多应用中,更关注磁盘或文件系统i/o的平均iops和bw的最大值(极限性能),用以衡量磁盘或文件系统的极限性能,这就需要找出最佳的numjobs和iodepth参数组合。由上述可知,获取最佳参数组合并非易事。一方面,如果靠人为调参的方式,需要重复成百上千次,这将耗费大量的时间和精力;另一方面,不同的场景中,最佳参数组合有所不同,积累的经验不一定适用,测得的iops和bw很可能是局部最大值,而非全局最大iops和bw,导致测试结果可信度低、可靠性差。


技术实现思路

1、本技术实施例通过提供一种云主机中磁盘i/o极限性能测试方法和装置,解决了现有技术中耗时耗力、测试结果可信度低、可靠性差的问题,实现了快速准确的测试云主机中磁盘i/o极限性能,有助于云主机中磁盘i/o极限性能调优、文件系统i/o极限性能测试和性能调优、性能损耗分析、存储虚拟化调优等。

2、为实现以上目的,本发明通过以下技术方案予以实现:一种云主机中磁盘i/o极限性能测试方法,包括:

3、所述方法是按如下步骤进行:

4、s1:控制节点创建目标云主机种群;

5、s2:计算节点启动目标云主机种群,执行搜索操作,所述搜索操作用于得到最佳参数组合,根据所述最佳参数组合测出磁盘i/o极限存储性能;

6、s3:控制节点删除目标云主机种群。

7、进一步地,所述目标云主机种群为np个目标云主机的个体,所述目标云主机的个体为目标云主机的基因组合,所述目标云主机的基因为目标云主机的numjobs和iodepth参数,所述目标云主机种群的云主机处于同一网段,云主机挂载的磁盘大小和类型一致,ssh彼此连通;

8、所述控制节点为第0号节点,负责对其余节点的控制,包含目标云主机的建立和删除;

9、所述计算节点负责目标云主机运行。

10、进一步地,所述s2的具体执行步骤如下:

11、s31:在第0号目标云主机上执行fio命令,实时观察iops和bw稳定下来的时间以确定参数runtime和ramp_time,并用于后续的磁盘i/o存储性能测试中;

12、s32:在目标云主机种群中根据差分进化算法(differential evolutionalgorithm,de)执行搜索操作,返回最佳参数组合,并输出最大iops和bw,所述iops和bw是衡量磁盘i/o存储性能的重要指标。

13、进一步地,所述fio是一款开源的i/o压力测试工具,主要用于测试磁盘或文件系统的i/o存储性能;

14、所述iops指单位时间内系统能够处理的i/o请求数量,是随机读写频繁的应用性能优劣的关键衡量指标;

15、所述bw指单位时间内可以成功传输的数据量,是大量顺序读写应用性能的关注点。

16、进一步地,所述s32的具体执行步骤如下:

17、s51:初始化操作,确定边界公式,在控制节点上执行测试脚本,通过初始化公式得到np个个体,再将1~np个个体嵌入到fio命令中得到np条命令,将np条命令分别通过ssh传送到1~np号云主机中执行,执行结束后将np个结果ssh回控制节点得到ω(xi(0));

18、s52:变异操作,在控制节点上通过变异公式产生第g代变异种群,若变异个体的基因不符合边界要求,则通过初始化公式重新生成基因;

19、s53:交叉操作,在控制节点上通过交叉公式产生第g代交叉后的种群,得到np个变异个体,将np个变异个体嵌入到fio命令中得到np条测试命令,并分别通过ssh传送到1~np号云主机中执行,执行结束后将np个结果ssh回0号云主机得到ω(ui(g));

20、s54:选择操作,在控制节点上通过选择公式选择第g+1代种群中的个体,并根据判断公式判断是否终止搜索,如果终止搜索,则执行s55,否则返回s52,对g+1代重新依次执行s52~s54;

21、s55:返回最佳参数组合,并输出最大iops和bw;

22、s56:对read、write、randread、randwrite四种模式,依次执行上述s51-s55步,根据输出的最大iops和bw获得云主机中磁盘i/o极限存储性能。

23、进一步地,所述s51中边界公式为:

24、定义np台目标云主机,目标云主机的基因为所述目标云主机的numjobs和iodepth参数,由x代替numjobs和iodepth,记为xi,j(g),g为种群的代数;

25、所述目标云主机的个体为目标云主机的基因组合,记为xi(g)=(xi,1(g),xi,2(g))=(iodepthi(g),numjobsi(g));

26、所述目标云主机种群为np个目标云主机的个体,记为

27、定义所述iodepth和numjobs的上下限分别为xl和xu,即xl=(iodepthl,numjobsl),xu=(iodepthu,numjobsu),则对任意代任意个体满足边界公式,所述边界公式为:

28、xl≤xi(g)≤xu(1)

29、对于初始种群,g=0,种群中的个体在中随机产生,所述初始化公式为:

30、

31、式中,j=1,2,rand(0,1)表示(0,1)区间均匀分布的随机数,[f]表示对f四舍五入取整数。

32、进一步地,所述s52中变异公式包括伸缩公式和缩放公式;

33、通过差分策略实现个体的变异,通过伸缩公式将向量差伸缩变化后与待变异个体进行向量合成得到变异个体,所述伸缩公式为:

34、

35、式中,i≠r1≠r2≠r3,f为缩放因子,按照缩放公式选择一种自适应的缩放因子,所述缩放公式为:

36、

37、式中,gm为最大进化代数,f0为缩放因子初始值。采用自适应的缩放因子,在初期保持个体多样性,后期变异率接近f0时保留优良信息避免最优解遭到破坏,增加了算法全局搜索能力。

38、进一步地,所述s53中交叉公式包括基因公式和概率公式;

39、对第g代种群x(g)和变异操作产生的变异种群v(g)按照所述基因公式进行个体间交叉操作得到交叉种群u(g),基因ui,j(g)确定如下:

40、

41、式中,cr为交叉概率,jrand为1或2中随机一个整数。cr决定了变异个体进入交叉种群的程度,通过所述概率公式将cr的均值保持在0.75,以保持群体多样性:

42、cr=0.5·(1+rand(0,1))

43、进一步地,所述s54中选择公式和判断公式为:

44、假设参数组合xi带入fio中测得的性能指标(iops或bw)为ω(xi),则第g+1代个体按照所述选择公式确定:

45、

46、假设最大进化代数为gm,第g代种群测试出来的最佳性能指标为ωm(g),当满足所述判断公式时停止搜索:

47、g>gm or|ωm(g+1)-ωm(g)|≤ε

48、式中,ε为稳定性阈值。

49、本发明还提供了一种云主机中磁盘i/o极限性能测试装置,包括:

50、创建模块:控制节点创建目标云主机种群;

51、测试模块:计算节点启动目标云主机种群,执行搜索操作,所述搜索操作用于得到最佳参数组合,根据所述最佳参数组合测出磁盘i/o极限存储性能;

52、删除模块:控制节点删除目标云主机种群。

53、本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

54、1、由于采用了自适应的差分进化算法来搜索最佳参数组合,所以,有效解决了靠人为调参的方式导致的耗时耗力问题,进而实现了快速测试云主机中磁盘i/o极限存储性能,提高了测试效率。

55、2、由于采用了差分进化算法来搜索四个不同模式下的最佳参数组合,所以,有效解决了靠人为调参的方式导致的测试结果可信度低、可靠性差的问题,进而实现了准确测试云主机中磁盘i/o极限存储性能,提高了结果的可靠性。

56、3、由于采用了差分进化算法来搜索四个不同模式下的最佳参数组合,进而实现了快速、准确测试云主机中磁盘i/o极限存储性能,有助于云主机中磁盘i/o极限性能调优、文件系统i/o极限性能测试和性能调优、性能损耗分析、存储虚拟化调优等,提供的测试装置具有可移植性好、简单易用的优点。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1