CN105468522A - 一种基于Linux系统CPU负载控制下的软件压力测试方法 - Google Patents
一种基于Linux系统CPU负载控制下的软件压力测试方法 Download PDFInfo
- Publication number
- CN105468522A CN105468522A CN201510808353.9A CN201510808353A CN105468522A CN 105468522 A CN105468522 A CN 105468522A CN 201510808353 A CN201510808353 A CN 201510808353A CN 105468522 A CN105468522 A CN 105468522A
- Authority
- CN
- China
- Prior art keywords
- cpu
- control
- load
- core
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 claims abstract description 27
- 230000001105 regulatory effect Effects 0.000 claims description 4
- 230000001276 controlling effect Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种基于Linux系统CPU负载控制下的软件压力测试方法,所述方法通过控制系统资源中单个CPU核心或者多个CPU核心的占用率,实现对CPU资源的控制。本发明方法在软件测试中,压力测试方案中的一种搭建CPU负载场景的方法,灵活的控制CPU单个核心或者多个核心的资源使用,可以构建出各种针对CPU负载下的软件压力测试场景,可以实现任意调节CPU核心使用率在0%-100%间负荷。
Description
技术领域
本发明涉及软件测试技术领域,具体涉及一种基于Linux系统CPU负载控制下的软件压力测试方法,针对测试软件对多核CPU的非负载均衡情况下的压力测试,可以控制单核CPU或者多核CPU的资源占用情况,实现对CPU每个核的资源使用情况进行管理,实现在CPU资源使用率达到预期压力下,进行软件压力测试。
背景技术
在交通运输、医疗设备、航空控制器、武器、核反应系统等安全攸关领域,极有可能因缺陷带来人员生命和财产的重大损失,甚至灾难,环境的严重毁坏。因此,安全攸关系统仅仅满足功能需求远远不够,对系统进行性能分析同样具有重要性和必要性。因此,在软件运行之前,有必要对软件进行彻底的测试。
许多软件在正常环境下一般不会出现错误,极端的环境下往往会引发许多严重的错误。压力测试,即通过输入组合,使待测软件处于极端状态,意图使系统出现错误。针对于软件的时间约束,则是在一定的任务调度策略下,搜索任务可能执行的顺序,确定测试场景,使其错失截止期的可能性最大化。安全攸关软件大多是实时软件,具有严格的时间限制。因而,在软件开发初期,针对软件实时性进行分析,生成压力测试用例,非常重要,可以尽早发现软件错误,减少开发成本。
软件压力测试是一种基本的质量保证行为,它是每个重要软件测试工作的一部分。软件压力测试的基本思路很简单:不是在常规条件下运行手动或自动测试,而是在计算机数量较少或系统资源匮乏的条件下运行测试。
测试的目的是:需要了解AUT(被测应用程序)一般能够承受的压力,同时能够承受的用户访问量(容量),最多支持有多少用户同时访问某个功能。在AUT中选择了用户最常用的五个功能作为本次测试的内容,包括登录。
如何实现对系统CPU资源使用率的控制是现今急需解决的技术问题。
发明内容
本发明要解决的技术问题是:为了解决上述问题,提供一种基于Linux系统CPU负载控制下的软件压力测试方法,针对测试软件对多核CPU的非负载均衡情况下的压力测试。
本发明所采用的技术方案为:
一种基于Linux系统CPU负载控制下的软件压力测试方法,所述方法通过控制系统资源中单个CPU核心或者多个CPU核心的占用率,实现对CPU资源的控制。
所述方法包括:产生CPU负载程序和控制CPU负载程序两部分,将产生CPU负载进程运行至想要产生负荷的某个CPU核心上,然后通过控制CPU负载程序来控制这个进程占用CPU资源的多少。
所述方法通过灵活地控制CPU单个核心或者多个核心的资源使用,构建出各种针对CPU负载下的软件压力测试场景,或者根据需要构造出多个CPU核心,非负载均衡的场景,实现任意调节CPU核心使用率在0%-100%间负荷。
所述方法通过stress运行,对CPU和内核进行加压,运行过程中可以进入其终端查看磁盘是否已满,如果已满,您则程序“stress”会报错并终止;如果未满且测试需要,进入到测试目录下,继续运行“stress”进行测试。
所述方法通过编写CPU增压脚本,所述脚本数目对应CPU数目,几核CPU就跑几个,可以实现一个逻辑核CPU100%。
本发明的有益效果为:
本发明方法在软件测试中,压力测试方案中的一种搭建CPU负载场景的方法,灵活的控制CPU单个核心或者多个核心的资源使用,可以构建出各种针对CPU负载下的软件压力测试场景,可以实现任意调节CPU核心使用率在0%-100%间负荷。
附图说明
图1为本发明Linux系统CPU负载控制下的软件压力测试方法示意图。
具体实施方式
下面根据说明书附图,结合具体实施方式对本发明进一步说明:
实施例1:
一种基于Linux系统CPU负载控制下的软件压力测试方法,所述方法通过控制系统资源中单个CPU核心或者多个CPU核心的占用率,实现对CPU资源的控制。
实施例2:
在实施例1的基础上,本实施例所述方法包括:产生CPU负载程序和控制CPU负载程序两部分,将产生CPU负载进程运行至想要产生负荷的某个CPU核心上,然后通过控制CPU负载程序来控制这个进程占用CPU资源的多少。
实施例3:
在实施例2的基础上,本实施例所述方法通过灵活地控制CPU单个核心或者多个核心的资源使用,构建出各种针对CPU负载下的软件压力测试场景,或者根据需要构造出多个CPU核心,非负载均衡的场景,实现任意调节CPU核心使用率在0%-100%间负荷。
实施例4:
在实施例2或3的基础上,本实施例所述方法通过stress运行,对CPU和内核进行加压,运行过程中可以进入其终端查看磁盘是否已满,如果已满,您则程序“stress”会报错并终止;如果未满且测试需要,进入到测试目录下,继续运行“stress”进行测试。
实施例5:
如图1所示,在实施例2或3的基础上,本实施例所述方法通过编写CPU增压脚本,所述脚本数目对应CPU数目,几核CPU就跑几个,可以实现一个逻辑核CPU100%。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (5)
1.一种基于Linux系统CPU负载控制下的软件压力测试方法,其特征在于:所述方法通过控制系统资源中单个CPU核心或者多个CPU核心的占用率,来实现对CPU资源的控制。
2.根据权利要求1所述的一种基于Linux系统CPU负载控制下的软件压力测试方法,其特征在于:所述方法包括:产生CPU负载程序和控制CPU负载程序两部分,将产生CPU负载进程运行至想要产生负荷的某个CPU核心上,然后通过控制CPU负载程序来控制这个进程占用CPU资源的多少。
3.根据权利要求2所述的一种基于Linux系统CPU负载控制下的软件压力测试方法,其特征在于:所述方法通过灵活地控制CPU单个核心或者多个核心的资源使用,构建出各种针对CPU负载下的软件压力测试场景,或者根据需要构造出多个CPU核心,非负载均衡的场景,实现任意调节CPU核心使用率在0%-100%间负荷。
4.根据权利要求2或3所述的一种基于Linux系统CPU负载控制下的软件压力测试方法,其特征在于:所述方法通过stress运行,对CPU和内核进行加压,运行过程中可以进入其终端查看磁盘是否已满,如果已满,您则程序“stress”会报错并终止;如果未满且测试需要,进入到测试目录下,继续运行“stress”进行测试。
5.根据权利要求2或3所述的一种基于Linux系统CPU负载控制下的软件压力测试方法,其特征在于:所述方法通过编写CPU增压脚本,所述脚本数目对应CPU数目,实现一个逻辑核CPU100%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510808353.9A CN105468522A (zh) | 2015-11-20 | 2015-11-20 | 一种基于Linux系统CPU负载控制下的软件压力测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510808353.9A CN105468522A (zh) | 2015-11-20 | 2015-11-20 | 一种基于Linux系统CPU负载控制下的软件压力测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105468522A true CN105468522A (zh) | 2016-04-06 |
Family
ID=55606253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510808353.9A Pending CN105468522A (zh) | 2015-11-20 | 2015-11-20 | 一种基于Linux系统CPU负载控制下的软件压力测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105468522A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326067A (zh) * | 2016-08-05 | 2017-01-11 | 浪潮电子信息产业股份有限公司 | 一种在压力测试下对cpu性能进行监控的方法及装置 |
CN106708682A (zh) * | 2017-01-20 | 2017-05-24 | 郑州云海信息技术有限公司 | 一种提升服务器SPEC CPU speed测试成绩的方法 |
CN107621993A (zh) * | 2017-09-15 | 2018-01-23 | 郑州云海信息技术有限公司 | 一种基于Linux在CPU不同负载下自动检测BMC升级状况的方法及系统 |
CN108984358A (zh) * | 2018-07-18 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种服务器cpu压力测试的方法及装置 |
CN109240866A (zh) * | 2018-09-10 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种基于服务器性能测试的性能调优方法 |
CN112363883A (zh) * | 2020-12-03 | 2021-02-12 | 锐捷网络股份有限公司 | 一种cpu压力测试方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840356A (zh) * | 2009-12-25 | 2010-09-22 | 北京网康科技有限公司 | 一种基于ring的多核CPU负载均衡方法及系统 |
CN102750211A (zh) * | 2012-06-11 | 2012-10-24 | 苏州阔地网络科技有限公司 | 一种压力测试方法及系统 |
US20130086425A1 (en) * | 2010-06-28 | 2013-04-04 | Kia Motors Corporation | System test apparatus |
CN103077087A (zh) * | 2013-01-10 | 2013-05-01 | 惠州Tcl移动通信有限公司 | 一种应用程序自动适配多核处理器模式的方法及移动设备 |
CN103455416A (zh) * | 2013-07-18 | 2013-12-18 | 北京航空航天大学 | 一种基于占用Android系统智能设备内存和CPU的压力测试方法 |
CN104239153A (zh) * | 2014-09-29 | 2014-12-24 | 三星电子(中国)研发中心 | 多核cpu负载均衡的方法和装置 |
CN104657273A (zh) * | 2015-03-05 | 2015-05-27 | 浪潮电子信息产业股份有限公司 | 一种软件占用系统资源的测试方法 |
-
2015
- 2015-11-20 CN CN201510808353.9A patent/CN105468522A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840356A (zh) * | 2009-12-25 | 2010-09-22 | 北京网康科技有限公司 | 一种基于ring的多核CPU负载均衡方法及系统 |
US20130086425A1 (en) * | 2010-06-28 | 2013-04-04 | Kia Motors Corporation | System test apparatus |
CN102750211A (zh) * | 2012-06-11 | 2012-10-24 | 苏州阔地网络科技有限公司 | 一种压力测试方法及系统 |
CN103077087A (zh) * | 2013-01-10 | 2013-05-01 | 惠州Tcl移动通信有限公司 | 一种应用程序自动适配多核处理器模式的方法及移动设备 |
CN103455416A (zh) * | 2013-07-18 | 2013-12-18 | 北京航空航天大学 | 一种基于占用Android系统智能设备内存和CPU的压力测试方法 |
CN104239153A (zh) * | 2014-09-29 | 2014-12-24 | 三星电子(中国)研发中心 | 多核cpu负载均衡的方法和装置 |
CN104657273A (zh) * | 2015-03-05 | 2015-05-27 | 浪潮电子信息产业股份有限公司 | 一种软件占用系统资源的测试方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326067A (zh) * | 2016-08-05 | 2017-01-11 | 浪潮电子信息产业股份有限公司 | 一种在压力测试下对cpu性能进行监控的方法及装置 |
CN106326067B (zh) * | 2016-08-05 | 2019-03-05 | 浪潮电子信息产业股份有限公司 | 一种在压力测试下对cpu性能进行监控的方法及装置 |
CN106708682A (zh) * | 2017-01-20 | 2017-05-24 | 郑州云海信息技术有限公司 | 一种提升服务器SPEC CPU speed测试成绩的方法 |
CN106708682B (zh) * | 2017-01-20 | 2020-10-23 | 苏州浪潮智能科技有限公司 | 一种提升服务器SPEC CPU speed测试成绩的方法 |
CN107621993A (zh) * | 2017-09-15 | 2018-01-23 | 郑州云海信息技术有限公司 | 一种基于Linux在CPU不同负载下自动检测BMC升级状况的方法及系统 |
CN108984358A (zh) * | 2018-07-18 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种服务器cpu压力测试的方法及装置 |
CN109240866A (zh) * | 2018-09-10 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种基于服务器性能测试的性能调优方法 |
CN112363883A (zh) * | 2020-12-03 | 2021-02-12 | 锐捷网络股份有限公司 | 一种cpu压力测试方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105468522A (zh) | 一种基于Linux系统CPU负载控制下的软件压力测试方法 | |
CN105183852B (zh) | 一种数据库迁移方法和装置 | |
US9026863B2 (en) | Replacement of storage responsive to remaining life parameter | |
CN102004630B (zh) | 多核/线程工作组计算调度器 | |
CN104123184B (zh) | 一种用于为构建过程中的任务分配资源的方法和系统 | |
US20110307639A1 (en) | Virtual serial port management system and method | |
CN101794359A (zh) | 用于启用用于遗留应用的经群体测试的安全特征的方法和系统 | |
CN102662740B (zh) | 非对称多核系统及其实现方法 | |
CN108664381B (zh) | 测试方法及装置 | |
CN107391344A (zh) | 一种事件监控方法、平台和系统 | |
US10996729B2 (en) | Balancing a power load among USB ports | |
US20230305880A1 (en) | Cluster distributed resource scheduling method, apparatus and device, and storage medium | |
CN104020763A (zh) | 输入输出接口的自动测试方法及系统 | |
CN104699584A (zh) | 一种pcie非透明桥性能测试的方法 | |
CN103246568A (zh) | 一种通过手机设置应用优先级的方法和装置 | |
WO2014190788A1 (en) | Method, apparatus and system for acquiring input events | |
CN105022663B (zh) | 电力系统监测和控制系统 | |
US8661293B2 (en) | Test architecture based on intelligent test sequence | |
CN105022688A (zh) | 设备测试方法及装置 | |
CN113609027A (zh) | 一种arm云服务器的测试方法、装置、电子设备和存储介质 | |
CN110347546B (zh) | 监控任务动态调整方法、装置、介质及电子设备 | |
CN107786667A (zh) | 一种基于云平台的数据处理方法、系统和设备 | |
US9128900B2 (en) | Method and server for managing redundant arrays of independent disks cards | |
CN102521065B (zh) | 一种fpga动态加载配置文件的方法 | |
CN106909472B (zh) | 一种分布式文件系统的输入/输出负载调整方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160406 |
|
RJ01 | Rejection of invention patent application after publication |