CN111045904A - 基于开源os版本迭代中性能问题的定位方法 - Google Patents

基于开源os版本迭代中性能问题的定位方法 Download PDF

Info

Publication number
CN111045904A
CN111045904A CN201911075717.1A CN201911075717A CN111045904A CN 111045904 A CN111045904 A CN 111045904A CN 201911075717 A CN201911075717 A CN 201911075717A CN 111045904 A CN111045904 A CN 111045904A
Authority
CN
China
Prior art keywords
degradation
reasons
positioning method
open source
deterioration
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
Application number
CN201911075717.1A
Other languages
English (en)
Inventor
黄国超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Fujitsu Nanda Software Technology Co Ltd
Original Assignee
Nanjing Fujitsu Nanda Software Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Fujitsu Nanda Software Technology Co Ltd filed Critical Nanjing Fujitsu Nanda Software Technology Co Ltd
Priority to CN201911075717.1A priority Critical patent/CN111045904A/zh
Publication of CN111045904A publication Critical patent/CN111045904A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于开源OS版本迭代中性能问题的定位方法,包括:采集和对比劣化前后的数据,筛选出可能的劣化原因;依次选择其中一个故障类型,结合可能的劣化原因,采用二分法尝试定位导致劣化的子项集合。本发明首先尽可能地确认是某大类的原因,再采用2分法定位导致差异的具体子项原因,在定位过程中,结合可能的劣化原因以加快定位速度,提高定位效率;采用自动化定位方法,减少对专业人员的依赖,减少工作人员的工作量;结合历史分析数据筛选出可能的劣化原因,一方面,提高劣化原因的分析效率,另一方面,使历史数据得到有效利用。

Description

基于开源OS版本迭代中性能问题的定位方法
技术领域
本发明涉及计算机操作系统故障分析技术领域,具体而言涉及一种基于开源OS版本迭代中性能问题的定位方法。
背景技术
目前,开源OS的版本在不断迭代更新的过程中,经常会出现一定的性能劣化。
随着版本迭代的频率变快,新增的机能越来越多,变化的参数等内容越来越多(万级),任何一个地方都有可能导致性能的劣化。这导致性能问题定位变的越来越复杂及困难,找到劣化的具体原因需要消耗的时间越来越长,经常需要花费数月的时间去查找出原因,给操作系统的日常应用和更新迭代带来困扰。
另外,前述查找过程需要借助专业人员的经验能力才能得以实现,对专业人员的能力依赖非常大,耗费大量人力的同时,也提高了性能问题分析的门槛;同时,历史分析数据的再利用也完全依托于专业人员的掌握程度,并未得到有效的运用。
发明内容
本发明目的在于提供一种基于开源OS版本迭代中性能问题的定位方法,首先尽可能地确认是某大类的原因,再采用2分法定位导致差异的具体子项原因,在定位过程中,结合可能的劣化原因以加快定位速度,提高定位效率;采用自动化定位方法,减少对专业人员的依赖,减少工作人员的工作量;结合历史分析数据筛选出可能的劣化原因,一方面,提高劣化原因的分析效率,另一方面,使历史数据得到有效利用。
为达成上述目的,结合图1,本发明提出一种基于开源OS版本迭代中性能问题的定位方法,所述定位方法包括:
采集和对比劣化前后的数据,筛选出可能的劣化原因;
依次选择其中一个故障类型,结合可能的劣化原因,采用二分法尝试定位导致劣化的子项集合。
进一步的实施例中,所述定位方法包括:
S1:评估运行设备的硬件参数;
S2:采集和对比劣化前后的数据,筛选出可能的劣化原因;
S3:交换劣化前后的版本内核,判断劣化原因是否属于内核,如果是,进入步骤S4,否则,进入步骤S5;
S4:查找劣化前后版本的补丁列表,结合可能的劣化原因,采用二分法定位导致劣化的补丁集合,进入步骤S7;
S5:选择其中一个非内核的故障类型,结合可能的劣化原因,采用二分法尝试定位导致劣化的子项集合,如果定位成功,进入步骤S7,否则,进入步骤S6;
S6:重复步骤S5,直至定位到导致劣化的某一故障类型的子项集合;
S7:结束流程。
进一步的实施例中,所述非内核的故障类型包括GCC编译器差异、C运行库差异、服务参数差异等。
进一步的实施例中,所述定位方法还包括:
按照概率由高到低的顺序对劣化原因进行排序;
采用二分法定位导致劣化的子项集合时,优先参考概率高的劣化原因。
进一步的实施例中,步骤S2中,采用perf工具采集内核事件跟踪信息,获取劣化前后的数据。
进一步的实施例中,所述定位方法还包括:
将劣化前后的数据和对应的导致劣化的某一故障类型的子项集合存储至故障分析数据库。
进一步的实施例中,所述定位方法还包括:
结合故障分析数据库和劣化前后的数据,筛选出可能的劣化原因。
以上本发明的技术方案,与现有相比,其显著的有益效果在于:
(1)首先尽可能地确认是某大类的原因,再采用2分法定位导致差异的具体子项原因,在定位过程中,结合可能的劣化原因以加快定位速度,提高定位效率。实践证明,通过采用本发明所提供的定位方法,对于任何版本迭代过程中出现的劣化问题,可以将定位时间从原来的数月将至0.5-2周内完成。
(2)采用自动化定位方法,减少对专业人员的依赖,减少工作人员的工作量。
(3)结合历史分析数据筛选出可能的劣化原因,一方面,提高劣化原因的分析效率,另一方面,使历史数据得到有效利用。
应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的发明主题的一部分。
结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。
附图说明
附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:
图1是本发明的基于开源OS版本迭代中性能问题的定位方法的流程图。
图2是本发明的其中一个具体例子的定位方法流程图。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
结合图1,本发明提出一种基于开源OS版本迭代中性能问题的定位方法,所述定位方法包括:
采集和对比劣化前后的数据,筛选出可能的劣化原因。
依次选择其中一个故障类型,结合可能的劣化原因,采用二分法尝试定位导致劣化的子项集合。
图2是其中一个具体例子的定位方法流程图,所述定位方法包括:
S1:评估运行设备的硬件参数,优选的,以同一台机器为基准,减少硬件干扰因素。
S2:采集和对比劣化前后的数据,筛选出可能的劣化原因。例如,采用perf工具采集内核事件跟踪信息,获取劣化前后的数据。
S3:交换劣化前后的版本内核,判断劣化原因是否属于内核,如果是,进入步骤S4,否则,进入步骤S5。
S4:查找劣化前后版本的补丁列表,结合可能的劣化原因,采用二分法定位导致劣化的补丁集合,进入步骤S7。
S5:选择其中一个非内核的故障类型,结合可能的劣化原因,采用二分法尝试定位导致劣化的子项集合,如果定位成功,进入步骤S7,否则,进入步骤S6。
S6:重复步骤S5,直至定位到导致劣化的某一故障类型的子项集合。
S7:结束流程。
如该例子所示,所述非内核的故障类型包括GCC编译器差异、C运行库差异、服务参数差异等,对应的子项包括补丁版本更迭、相关参数更新等等。
实践证明,通过采用本发明所提供的定位方法,对于任何版本迭代过程中出现的劣化问题,可以将定位时间从原来的数月将至0.5-2周内完成。
在一些例子中,所述定位方法还包括:
按照概率由高到低的顺序对劣化原因进行排序。
采用二分法定位导致劣化的子项集合时,优先参考概率高的劣化原因,以进一步加快定位速度。
在另一些例子中,所述定位方法还包括:
将劣化前后的数据和对应的导致劣化的某一故障类型的子项集合存储至故障分析数据库,一方面,便于工作人员追溯审核,另一方面,使这些分析数据作为数据基础实现新的应用,提高其利用率。
例如,结合故障分析数据库和劣化前后的数据,筛选出可能的劣化原因。这一方式可以使整个定位过程有机会实现自动化,尽可能地减少对专业人员经验能力的依赖性,同时也可以借由历史分析数据加快劣化原因的筛选速度,提高整体定位效率。
在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定义在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

Claims (7)

1.一种基于开源OS版本迭代中性能问题的定位方法,其特征在于,所述定位方法包括:
采集和对比劣化前后的数据,筛选出可能的劣化原因;
依次选择其中一个故障类型,结合可能的劣化原因,采用二分法尝试定位导致劣化的子项集合。
2.根据权利要求1所述的基于开源OS版本迭代中性能问题的定位方法,其特征在于,所述定位方法包括:
S1:评估运行设备的硬件参数;
S2:采集和对比劣化前后的数据,筛选出可能的劣化原因;
S3:交换劣化前后的版本内核,判断劣化原因是否属于内核,如果是,进入步骤S4,否则,进入步骤S5;
S4:查找劣化前后版本的补丁列表,结合可能的劣化原因,采用二分法定位导致劣化的补丁集合,进入步骤S7;
S5:选择其中一个非内核的故障类型,结合可能的劣化原因,采用二分法尝试定位导致劣化的子项集合,如果定位成功,进入步骤S7,否则,进入步骤S6;
S6:重复步骤S5,直至定位到导致劣化的某一故障类型的子项集合;
S7:结束流程。
3.根据权利要求2所述的基于开源OS版本迭代中性能问题的定位方法,其特征在于,所述非内核的故障类型包括GCC编译器差异、C运行库差异、服务参数差异等。
4.根据权利要求1所述的基于开源OS版本迭代中性能问题的定位方法,其特征在于,所述定位方法还包括:
按照概率由高到低的顺序对劣化原因进行排序;
采用二分法定位导致劣化的子项集合时,优先参考概率高的劣化原因。
5.根据权利要求2所述的基于开源OS版本迭代中性能问题的定位方法,其特征在于,步骤S2中,采用perf工具采集内核事件跟踪信息,获取劣化前后的数据。
6.根据权利要求1或2所述的基于开源OS版本迭代中性能问题的定位方法,其特征在于,所述定位方法还包括:
将劣化前后的数据和对应的导致劣化的某一故障类型的子项集合存储至故障分析数据库。
7.根据权利要求6所述的基于开源OS版本迭代中性能问题的定位方法,其特征在于,所述定位方法还包括:
结合故障分析数据库和劣化前后的数据,筛选出可能的劣化原因。
CN201911075717.1A 2019-11-06 2019-11-06 基于开源os版本迭代中性能问题的定位方法 Pending CN111045904A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911075717.1A CN111045904A (zh) 2019-11-06 2019-11-06 基于开源os版本迭代中性能问题的定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911075717.1A CN111045904A (zh) 2019-11-06 2019-11-06 基于开源os版本迭代中性能问题的定位方法

Publications (1)

Publication Number Publication Date
CN111045904A true CN111045904A (zh) 2020-04-21

Family

ID=70232270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911075717.1A Pending CN111045904A (zh) 2019-11-06 2019-11-06 基于开源os版本迭代中性能问题的定位方法

Country Status (1)

Country Link
CN (1) CN111045904A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012070067A (ja) * 2010-09-21 2012-04-05 Hitachi Ltd アプリケーション性能評価方法、評価装置および移動体通信システム
CN106844194A (zh) * 2016-12-21 2017-06-13 北京航空航天大学 一种多层次软件故障诊断专家系统的构建方法
CN106970880A (zh) * 2017-04-28 2017-07-21 中国科学院软件研究所 一种分布式自动化软件测试方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012070067A (ja) * 2010-09-21 2012-04-05 Hitachi Ltd アプリケーション性能評価方法、評価装置および移動体通信システム
CN106844194A (zh) * 2016-12-21 2017-06-13 北京航空航天大学 一种多层次软件故障诊断专家系统的构建方法
CN106970880A (zh) * 2017-04-28 2017-07-21 中国科学院软件研究所 一种分布式自动化软件测试方法及系统

Similar Documents

Publication Publication Date Title
US10521224B2 (en) Automatic identification of relevant software projects for cross project learning
Nguyen et al. A study of repetitiveness of code changes in software evolution
CN107391369B (zh) 一种基于数据筛选和数据过采样的跨项目缺陷预测方法
US7941425B2 (en) Techniques for scoring and comparing query execution plans
US8312440B2 (en) Method, computer program product, and hardware product for providing program individuality analysis for source code programs
US8898635B2 (en) System and method for automatic impact variable analysis and field expansion in mainframe systems
US7233733B2 (en) Method and system for finding evolving regions in graphs without persistent node identity
CN111459799A (zh) 一种基于Github的软件缺陷检测模型建立、检测方法及系统
CN110554954B (zh) 一种结合静态依赖和动态执行规则的测试用例选择方法
US20120096434A1 (en) System and method for detecting preventative maintenance operations in computer source code
CN114491566B (zh) 一种基于代码相似性的模糊测试方法、装置及存储介质
US20080127043A1 (en) Automatic Extraction of Programming Rules
US20190163619A1 (en) Automated software program repair candidate selection
US11704186B2 (en) Analysis of deep-level cause of fault of storage management
CN115757149A (zh) 一种自动化测试方法、系统、电子设备及存储介质
CN113901463B (zh) 面向概念漂移的可解释Android恶意软件检测方法
CN110806977A (zh) 基于产品需求的测试用例集生成方法、装置及电子设备
CN117009230B (zh) 一种基于代码覆盖率评测的精准测试方法及系统
CN110633084B (zh) 基于单个样例的代码转换推导方法和装置
CN111045904A (zh) 基于开源os版本迭代中性能问题的定位方法
CN114780967B (zh) 基于大数据漏洞挖掘的挖掘评估方法及ai漏洞挖掘系统
CN114840856A (zh) 一种状态感知的物联网可信执行环境模糊测试方法和系统
US6389370B1 (en) System and method for determining which objects in a set of objects should be processed
Nguyen et al. Using topic model to suggest fine-grained source code changes
CN111858366A (zh) 一种测试用例生成方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination