一种基于Linux系统CPU负载控制下的软件压力测试方法

文档序号:9708225阅读:478来源:国知局
一种基于Linux系统CPU负载控制下的软件压力测试方法
【技术领域】
[0001]本发明涉及软件测试技术领域,具体涉及一种基于Linux系统CPU负载控制下的软件压力测试方法,针对测试软件对多核CPU的非负载均衡情况下的压力测试,可以控制单核CPU或者多核CPU的资源占用情况,实现对CPU每个核的资源使用情况进行管理,实现在CPU资源使用率达到预期压力下,进行软件压力测试。
【背景技术】
[0002]在交通运输、医疗设备、航空控制器、武器、核反应系统等安全攸关领域,极有可能因缺陷带来人员生命和财产的重大损失,甚至灾难,环境的严重毁坏。因此,安全攸关系统仅仅满足功能需求远远不够,对系统进行性能分析同样具有重要性和必要性。因此,在软件运行之前,有必要对软件进行彻底的测试。
[0003]许多软件在正常环境下一般不会出现错误,极端的环境下往往会引发许多严重的错误。压力测试,即通过输入组合,使待测软件处于极端状态,意图使系统出现错误。针对于软件的时间约束,则是在一定的任务调度策略下,搜索任务可能执行的顺序,确定测试场景,使其错失截止期的可能性最大化。安全攸关软件大多是实时软件,具有严格的时间限制。因而,在软件开发初期,针对软件实时性进行分析,生成压力测试用例,非常重要,可以尽早发现软件错误,减少开发成本。
[0004]软件压力测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分。软件压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件下运行测试。
[0005]测试的目的是:需要了解AUT(被测应用程序)一般能够承受的压力,同时能够承受的用户访问量(容量),最多支持有多少用户同时访问某个功能。在AUT中选择了用户最常用的五个功能作为本次测试的内容,包括登录。
[0006]如何实现对系统CPU资源使用率的控制是现今急需解决的技术问题。

【发明内容】

[0007]本发明要解决的技术问题是:为了解决上述问题,提供一种基于Linux系统CPU负载控制下的软件压力测试方法,针对测试软件对多核(PU的非负载均衡情况下的压力测试。
[0008]本发明所采用的技术方案为:
一种基于Linux系统CPU负载控制下的软件压力测试方法,所述方法通过控制系统资源中单个CPU核心或者多个CPU核心的占用率,实现对CPU资源的控制。
[0009]所述方法包括:产生CPU负载程序和控制CPU负载程序两部分,将产生CPU负载进程运行至想要产生负荷的某个CPU核心上,然后通过控制CHJ负载程序来控制这个进程占用CHJ资源的多少。
[0010]所述方法通过灵活地控制CPU单个核心或者多个核心的资源使用,构建出各种针对CHJ负载下的软件压力测试场景,或者根据需要构造出多个CPU核心,非负载均衡的场景,实现任意调节CPU核心使用率在0%-100%间负荷。
[0011 ] 所述方法通过stress运行,对CPU和内核进行加压,运行过程中可以进入其终端查看磁盘是否已满,如果已满,您则程序“stress”会报错并终止;如果未满且测试需要,进入到测试目录下,继续运行“stress”进行测试。
[0012]所述方法通过编写CPU增压脚本,所述脚本数目对应CPU数目,几核CPU就跑几个,可以实现一个逻辑核CPU 100%ο
[0013]本发明的有益效果为:
本发明方法在软件测试中,压力测试方案中的一种搭建CPU负载场景的方法,灵活的控制CPU单个核心或者多个核心的资源使用,可以构建出各种针对CPU负载下的软件压力测试场景,可以实现任意调节(PU核心使用率在0%-100%间负荷。
【附图说明】
[0014]图1为本发明Linux系统CPU负载控制下的软件压力测试方法示意图。
【具体实施方式】
[0015]下面根据说明书附图,结合【具体实施方式】对本发明进一步说明:
实施例1:
一种基于Linux系统CPU负载控制下的软件压力测试方法,所述方法通过控制系统资源中单个CPU核心或者多个CPU核心的占用率,实现对CPU资源的控制。
[0016]实施例2:
在实施例1的基础上,本实施例所述方法包括:产生CPU负载程序和控制CPU负载程序两部分,将产生CPU负载进程运行至想要产生负荷的某个CPU核心上,然后通过控ffjijCPU负载程序来控制这个进程占用CPU资源的多少。
[0017]实施例3:
在实施例2的基础上,本实施例所述方法通过灵活地控制CPU单个核心或者多个核心的资源使用,构建出各种针对CPU负载下的软件压力测试场景,或者根据需要构造出多个CPU核心,非负载均衡的场景,实现任意调节CPU核心使用率在0%-100%间负荷。
[0018]实施例4:
在实施例2或3的基础上,本实施例所述方法通过stress运行,对CPU和内核进行加压,运行过程中可以进入其终端查看磁盘是否已满,如果已满,您则程序“stress”会报错并终止;如果未满且测试需要,进入到测试目录下,继续运行“stress”进行测试。
[0019]实施例5:
如图1所示,在实施例2或3的基础上,本实施例所述方法通过编写CPU增压脚本,所述脚本数目对应CPU数目,几核CPU就跑几个,可以实现一个逻辑核CPU 100%ο
[0020]以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
【主权项】
1.一种基于Linux系统CPU负载控制下的软件压力测试方法,其特征在于:所述方法通过控制系统资源中单个CPU核心或者多个CPU核心的占用率,来实现对CPU资源的控制。2.根据权利要求1所述的一种基于Linux系统CPU负载控制下的软件压力测试方法,其特征在于:所述方法包括:产生CPU负载程序和控制CPU负载程序两部分,将产生CPU负载进程运行至想要产生负荷的某个CPU核心上,然后通过控制CPU负载程序来控制这个进程占用CHJ资源的多少。3.根据权利要求2所述的一种基于Linux系统CPU负载控制下的软件压力测试方法,其特征在于:所述方法通过灵活地控制CPU单个核心或者多个核心的资源使用,构建出各种针对CHJ负载下的软件压力测试场景,或者根据需要构造出多个CPU核心,非负载均衡的场景,实现任意调节CPU核心使用率在0%-100%间负荷。4.根据权利要求2或3所述的一种基于Linux系统CPU负载控制下的软件压力测试方法,其特征在于:所述方法通过stress运行,对CPU和内核进行加压,运行过程中可以进入其终端查看磁盘是否已满,如果已满,您则程序“stress”会报错并终止;如果未满且测试需要,进入到测试目录下,继续运行“stress”进行测试。5.根据权利要求2或3所述的一种基于Linux系统CPU负载控制下的软件压力测试方法,其特征在于:所述方法通过编写CPU增压脚本,所述脚本数目对应CPU数目,实现一个逻辑核CPU 100%ο
【专利摘要】本发明公开了一种基于Linux系统CPU负载控制下的软件压力测试方法,所述方法通过控制系统资源中单个CPU核心或者多个CPU核心的占用率,实现对CPU资源的控制。本发明方法在软件测试中,压力测试方案中的一种搭建CPU负载场景的方法,灵活的控制CPU单个核心或者多个核心的资源使用,可以构建出各种针对CPU负载下的软件压力测试场景,可以实现任意调节CPU核心使用率在0%-100%间负荷。
【IPC分类】G06F11/36
【公开号】CN105468522
【申请号】CN201510808353
【发明人】王杰, 李岩
【申请人】浪潮电子信息产业股份有限公司
【公开日】2016年4月6日
【申请日】2015年11月20日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1