System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种鲁棒性测试场景的搭建方法技术_技高网

一种鲁棒性测试场景的搭建方法技术

技术编号:41655142 阅读:4 留言:0更新日期:2024-06-14 15:18
本发明专利技术特别涉及一种鲁棒性测试场景的搭建方法。该鲁棒性测试场景的搭建方法,解析linux系统下自带的文件,获取当前系统运行所占用的CPU和内存,并编写程序计算CPU和内存占比,通过比对用户设置的参数,缓慢增加CPU和内存的占用,精细化控制CPU和内存占比,模拟程序极限场景下的运行性能,从系统维度对程序进行健壮性测试,验证程序的安全性及鲁棒性。该鲁棒性测试场景的搭建方法,不需要依赖任何插件,可以在linux系统下快速搭建鲁棒性测试场景,支持CPU和内存的精细化调控,还能实现某个进程CPU的限制,能够在研发测试阶段发现程序问题,增强程序的安全性和健壮性。

【技术实现步骤摘要】

本专利技术涉及系统监控,特别涉及一种鲁棒性测试场景的搭建方法


技术介绍

1、随着客户需求多样化和业务场景的多样化,有些非docker版的服务需要运行在极端的业务场景下。比如程序需要在资源紧张的系统下运行,但是在研发阶段,在很多特殊业务场景下并没有适当的测试环境。

2、基于上述情况,本专利技术提出了一种鲁棒性测试场景的搭建方法。


技术实现思路

1、本专利技术为了弥补现有技术的缺陷,提供了一种简单高效的鲁棒性测试场景的搭建方法。

2、本专利技术是通过如下技术方案实现的:

3、一种鲁棒性测试场景的搭建方法,其特征在于:解析linux系统下自带的文件,获取当前系统运行所占用的cpu和内存,并编写程序计算cpu和内存占比,通过比对用户设置的参数,缓慢增加cpu和内存的占用,精细化控制cpu和内存占比,模拟程序极限场景下的运行性能,从系统维度对程序进行健壮性测试,验证程序的安全性及鲁棒性;

4、同时,限制程序运行时的cpu占比,防止某个程序因服务过载,造成对系统其它服务的影响,实时检测系统运行状态,帮助运维人员及时发现并排查问题。

5、通过读取用户配置,与cpu占用率和内存占用率实时比对,若cpu占用率和内存占用率未达到用户预设的阈值,则缓慢增加cpu与内存适应占比,轮训对比,直至达到阈值,实现模拟压测场景的目的。

6、通过进程名称或进程id对单个进程的资源进行限制,通过cpulimit命令为进程预设一个cpu占用率门限,且cpulimit命令不修改进程的nice值,使用sigstop(暂停进程)信号和sigcont(恢复进程)信号来控制进程,通过监控进程的cpu占用率来做出动态调整。cpulimit的优势是可以控制进程的cpu占用率的上限值,进而达到对程序鲁棒性测试的效果。

7、解析linux系统下自带的/proc/stat文件和/proc/meminfo文件;

8、所述/proc/stat文件中记录有linux系统下的cpu使用数据;

9、所述/proc/meminfo文件中记录有linux系统下的内存使用数据。

10、所述linux系统下的cpu使用数据包括系统用户态运行时间、处于核心态运行时间、除io等待以外其它时间、io等待时间、硬中断时间和软中断时间,cpu核数和总的cpu时间分配信息,且文件格式固定;将linux系统下的cpu使用数据编码转换为数据结构,计算得到cpu占用率。

11、所述cpu占用率的计算公式如下:

12、

13、其中,空闲时间为除io等待以外其它时间、io等待时间、硬中断时间和软中断时间之和。

14、所述linux系统下的内存使用数据包括内存总数,空闲内存数和可用内存数。

15、所述内存占用率的计算公式如下:

16、

17、通过集群方式部署时,各子节点将自身系统信息上报到主节点,以便主节点对子节点进行监控和控制,搭建集群系统服务的安全性和鲁棒性功能测试环境。

18、一种鲁棒性测试场景的搭建设备,其特征在于:包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如上所述的方法步骤。

19、一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法步骤。

20、本专利技术的有益效果是:该鲁棒性测试场景的搭建方法,不需要依赖任何插件,可以在linux系统下快速搭建鲁棒性测试场景,支持cpu和内存的精细化调控,还能实现某个进程cpu的限制,能够在研发测试阶段发现程序问题,增强程序的安全性和健壮性。

本文档来自技高网...

【技术保护点】

1.一种鲁棒性测试场景的搭建方法,其特征在于:解析linux系统下自带的文件,获取当前系统运行所占用的CPU和内存,并编写程序计算CPU和内存占比,通过比对用户设置的参数,缓慢增加CPU和内存的占用,精细化控制CPU和内存占比,模拟程序极限场景下的运行性能,从系统维度对程序进行健壮性测试,验证程序的安全性及鲁棒性;

2.根据权利要求1所述的鲁棒性测试场景的搭建方法,其特征在于:通过读取用户配置,与CPU占用率和内存占用率实时比对,若CPU占用率和内存占用率未达到用户预设的阈值,则缓慢增加CPU与内存适应占比,轮训对比,直至达到阈值,实现模拟压测场景的目的。

3.根据权利要求2所述的鲁棒性测试场景的搭建方法,其特征在于:通过进程名称或进程id对单个进程的资源进行限制,通过CPUlimit命令为进程预设一个CPU占用率门限,且CPUlimit命令不修改进程的nice值,使用SIGSTOP信号和SIGCONT信号来控制进程,通过监控进程的CPU占用率来做出动态调整,进而达到对程序鲁棒性测试的效果。

4.根据权利要求1所述的鲁棒性测试场景的搭建方法,其特征在于:解析linux系统下自带的/proc/stat文件和/proc/meminfo文件;

5.根据权利要求4所述的鲁棒性测试场景的搭建方法,其特征在于:所述Linux系统下的CPU使用数据包括系统用户态运行时间、处于核心态运行时间、除IO等待以外其它时间、IO等待时间、硬中断时间和软中断时间,CPU核数和总的CPU时间分配信息,且文件格式固定;将Linux系统下的CPU使用数据编码转换为数据结构,计算得到CPU占用率;

6.根据权利要求4所述的鲁棒性测试场景的搭建方法,其特征在于:所述Linux系统下的内存使用数据包括内存总数,空闲内存数和可用内存数;

7.根据权利要求2或3所述的鲁棒性测试场景的搭建方法,其特征在于:通过集群方式部署时,各子节点将自身系统信息上报到主节点,以便主节点对子节点进行监控和控制,搭建集群系统服务的安全性和鲁棒性功能测试环境。

8.一种鲁棒性测试场景的搭建设备,其特征在于:包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如权利要求1至7任意一项所述的方法步骤。

9.一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述的方法步骤。

...

【技术特征摘要】

1.一种鲁棒性测试场景的搭建方法,其特征在于:解析linux系统下自带的文件,获取当前系统运行所占用的cpu和内存,并编写程序计算cpu和内存占比,通过比对用户设置的参数,缓慢增加cpu和内存的占用,精细化控制cpu和内存占比,模拟程序极限场景下的运行性能,从系统维度对程序进行健壮性测试,验证程序的安全性及鲁棒性;

2.根据权利要求1所述的鲁棒性测试场景的搭建方法,其特征在于:通过读取用户配置,与cpu占用率和内存占用率实时比对,若cpu占用率和内存占用率未达到用户预设的阈值,则缓慢增加cpu与内存适应占比,轮训对比,直至达到阈值,实现模拟压测场景的目的。

3.根据权利要求2所述的鲁棒性测试场景的搭建方法,其特征在于:通过进程名称或进程id对单个进程的资源进行限制,通过cpulimit命令为进程预设一个cpu占用率门限,且cpulimit命令不修改进程的nice值,使用sigstop信号和sigcont信号来控制进程,通过监控进程的cpu占用率来做出动态调整,进而达到对程序鲁棒性测试的效果。

4.根据权利要求1所述的鲁棒性测试场景的搭建方法,其特征在于:解析linux系统下自带的/proc/stat文件和/proc/me...

【专利技术属性】
技术研发人员:朱传举杨凯田昌英
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

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

1