CN112905431A - ***性能问题自动定位方法、装置及设备 - Google Patents

***性能问题自动定位方法、装置及设备 Download PDF

Info

Publication number
CN112905431A
CN112905431A CN202110244149.4A CN202110244149A CN112905431A CN 112905431 A CN112905431 A CN 112905431A CN 202110244149 A CN202110244149 A CN 202110244149A CN 112905431 A CN112905431 A CN 112905431A
Authority
CN
China
Prior art keywords
agent
check
calling
thread
optimized
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
CN202110244149.4A
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.)
Shanghai Zhongtongji Network Technology Co Ltd
Original Assignee
Shanghai Zhongtongji Network 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 Shanghai Zhongtongji Network Technology Co Ltd filed Critical Shanghai Zhongtongji Network Technology Co Ltd
Priority to CN202110244149.4A priority Critical patent/CN112905431A/zh
Publication of CN112905431A publication Critical patent/CN112905431A/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/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/321Display for diagnostics, e.g. diagnostic result display, self-test user interface
    • 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques

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)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种***性能问题自动定位方法、装置及设备,属于通信技术领域,在被测***服务器上部署添加Optimizatio Agent,对被测***进行测试;在测试过程中,通过Optimizatio Agent,收集对应的性能指标数据,存储到时序数据库中;通过anaiygic unit分析单元,调用Optimizatio Agent检查被测服务器的预设检查项解析出需要优化的内容,并将需要优化的内容存储到MySql数据库中;生成压测前的指标与压测后的对比报告。在压测过程中能判断出性能瓶颈并给出优化方案,通过Optimizatio Agent的收集相关性能指标,通过analytic unit分析单元进行常规检查,出具压测前的指标与压测后的指标报告,展示性能使用率比较高的配置项,给出解释说明;无需通过其他软件或者命令进行性能监控;一站式诊断监控,并且可以出具想关的优化建议。

Description

***性能问题自动定位方法、装置及设备
技术领域
本发明属于通信技术领域,具体涉及一种***性能问题自动定位方法、装置及设备。
背景技术
在现有技术的大部分科技公司中,没有或者较少有自动定位问题的软件,一般在发现问题时,需要人工调用不同的定位软件或监控命令,来定位问题。在这个过程中,主要依赖于执行人员的能力和经验;如果对于性能测试定位,不了解且无定位方向目标的人员来说,是无法胜任该工作任务的。
现有定位性能问题的背景,依赖于测试、DBA、运维、开发等相关人员。人工介入比较多,难免增加了沟通成本,使得效率低下。另一方面,***出现性能问题具有复杂性,比如:因代码问题导致的***问题、因内存泄漏(Memory Leak)造成的***问题、因内存溢出(OOM)造成的***问题、因线程死锁造成的***问题等,也可能是服务器内核的配置(sysctl.conf)问题、数据库的配置 (maxActive/maxIdle/initialSize/maxWait等)问题、数据库索引的问题、慢 SQL等一些列问题导致了性能问题。因此,如何快速定位性能问题,成为现有技术中亟待解决的技术问题。
发明内容
本发明提供了一种***性能问题自动定位,通过相关监控指标的判断,来快速定位***的性能问题。
本发明提供的技术方案如下:
一方面,一种***性能问题自动定位方法,被测***服务器上部署添加Optimizatio Agent,对所述被测***进行测试;所述方法,包括:
在测试过程中,通过所述Optimizatio Agent,收集对应的性能指标数据,存储到时序数据库中;
通过anaiygic unit分析单元,调用所述Optimizatio Agent检查所述被测服务器的预设检查项,解析出需要优化的内容,并将所述需要优化的内容存储到MySql数据库中;
基于所述时序数据库中的性能指标数据,和所述MySql数据库中的需要优化的内容,生成压测前的指标与压测后的对比报告,所述对比报告包括:硬件对比报告、检查项报告或优化建议报告中的至少一种。
可选的,所述Optimizatio Agent,包括:CPU agent、Memory agent、Disk agent、DB agent和Thread agent;
所述通过anaiygic unit分析单元,调用所述Optimizatio Agent检查所述被测服务器的预设检查项,解析出需要优化的内容,包括:
通过anaiygic unit分析单元,调用CPU agent检查高负载CPU的线程、 dump线程信息,基于Thread agent存储的信息,解析出需要优化的代码;
通过anaiygic unit分析单元,调用Memory agent检查gcutil情况,再通过Threadagent存储的信息,解析出需要优化的代码和需要优化的JVM配置项;
通过anaiygic unit分析单元,调用DB agent检查数据库连接数、慢SQL 情况,再通过Thread agent存储的信息,解析出需要优化的数据库配置项;
通过anaiygic unit分析单元,调用Disk agent检查磁盘的读写情况,再通过Thread agent存储的信息,解析出需要优化的代码和配置项。
可选的,所述生成压测前的指标与压测后的对比报告,包括:
生成压测前与压测后的指标报告,展示性能使用率高于预设阈值或性能使用率排名在预设范围内的配置项,并显示对应的解释说明。
可选的,所述调用CPU agent检查高负载CPU的线程、dump线程信息,还包括:
调用CPU agent检查记录用户栈、***栈、中断、上下文切换、CPU负载、CPULoad、CPU内核函数跟踪、CPU调度级别中的至少一个监控指标;
所述调用Memory agent检查gcutil情况,还包括:
调用Memory agent检查记录扫描页,缺页跟踪,内存交换,可用虚拟内存,内存使用率和饱和度,内存分配跟踪等,内存活动中的至少一个监控指标;
所述调用DB agent检查数据库连接数、慢SQL情况,还包括:
调用DB agent检查自定义慢SQL收集、实时连接数收集、活动连接数收集、缓存池大小、查询缓存、DB活动中的至少一个监控指标;
所述调用Disk agent检查磁盘的读写情况,还包括:
调用Disk agent检查记录跟踪和统计逻辑I/O、页缓存统计read和Write、慢事件文件跟踪、动态跟踪文件实践、文件***缓存命中率、阻塞I/O统计、文件块大小、磁盘I/O活动中的至少一个监控指标。
可选的,所述Thread agent的检查项目,包括:记录dump Thread快照,多线程状态,线程的生命周期,JVM各区域情况,GC回收情况,高消耗资源线程信息,线程死锁/循环,Stack overflow中的至少一种。
又一方面,一种***性能问题自动定位装置,包括:Optimizatio Agent 模块,所述Optimizatio Agent模块设置部署在被测***服务器上,对被测***进行测试,所述装置,包括:收集模块、分析调用模块、生成模块;
所述收集模块,用于在测试过程中,通过所述Optimizatio Agent,收集对应的性能指标数据,存储到时序数据库中;
所述分析调用模块,用于通过anaiygic unit分析单元,调用所述 OptimizatioAgent检查所述被测服务器的预设检查项,解析出需要优化的内容,并将所述需要优化的内容存储到MySql数据库中;
所述生成模块,用于基于所述时序数据库中的性能指标数据,和,所述 MySql数据库中的需要优化的内容,生成压测前的指标与压测后的对比报告,所述对比报告包括:硬件对比报告、检查项报告或优化建议报告中的至少一种。
可选的,Optimizatio Agent模块中的Optimizatio Agent,包括:CPU agent、Memory agent、Disk agent、DB agent和Thread agent;
所述分析调用模块,用于通过anaiygic unit分析单元,调用CPU agent 检查高负载CPU的线程、dump线程信息,基于Thread agent存储的信息,解析出需要优化的代码;通过anaiygic unit分析单元,调用Memory agent检查 gcutil情况,再通过Thread agent存储的信息,解析出需要优化的代码和需要优化的JVM配置项;通过anaiygic unit分析单元,调用DB agent检查数据库连接数、慢SQL情况,再通过Thread agent存储的信息,解析出需要优化的数据库配置项;通过anaiygic unit分析单元,调用Disk agent检查磁盘的读写情况,再通过Thread agent存储的信息,解析出需要优化的代码和配置项。
可选的,所述生成模块,用于生成压测前与压测后的指标报告,展示性能使用率高于预设阈值或性能使用率排名在预设范围内的配置项,并显示对应的解释说明。
可选的,所述分析调用模块,还用于调用CPU agent检查记录用户栈、***栈、中断、上下文切换、CPU负载、CPULoad、CPU内核函数跟踪、CPU调度级别中的至少一个监控指标;调用Memory agent检查记录扫描页,缺页跟踪,内存交换,可用虚拟内存,内存使用率和饱和度,内存分配跟踪等,内存活动中的至少一个监控指标;调用DB agent检查自定义慢SQL收集、实时连接数收集、活动连接数收集、缓存池大小、查询缓存、DB活动中的至少一个监控指标;调用Disk agent检查记录跟踪和统计逻辑I/O、页缓存统计read和Write、慢事件文件跟踪、动态跟踪文件实践、文件***缓存命中率、阻塞I/O统计、文件块大小、磁盘I/O活动中的至少一个监控指标。
又一方面,一种***性能问题自动定位设备,包括:处理器,以及与所述处理器相连接的存储器;
所述存储器用于存储计算机程序,所述计算机程序至少用于执行上述任一项所述的***性能问题自动定位方法;
所述处理器用于调用并执行所述存储器中的所述计算机程序。
本发明的有益效果为:
本发明实施例提供的本发明实施例提供的***性能问题自动定位方法、装置及设备,在被测***服务器上部署添加Optimizatio Agent,对被测***进行测试;在测试过程中,通过Optimizatio Agent,收集对应的性能指标数据,存储到时序数据库中;通过anaiygic unit分析单元,调用Optimizatio Agent 检查被测服务器的预设检查项,解析出需要优化的内容,并将需要优化的内容存储到MySql数据库中;基于时序数据库中的性能指标数据,和,MySql数据库中的需要优化的内容,生成压测前的指标与压测后的对比报告,对比报告包括:硬件对比报告、检查项报告或优化建议报告中的至少一种。在压测过程中能判断出性能瓶颈并给出优化方案,通过Optimizatio Agent的收集相关性能指标,通过analytic unit分析单元,进行常规检查,出具压测前的指标与压测后的指标报告,展示性能使用率比较高的配置项,给出解释说明;无需通过其他软件或者命令进行性能监控;一站式诊断监控,并且可以出具想关的优化建议。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种***性能问题自动定位装置的结构示意图;
图2为本发明实施例提供的另一种具体***性能问题自动定位装置的结构示意图;
图3为本发明实施例提供的一种***性能问题自动定位方法的流程示意图;
图4为本发明实施例提供的一种***性能问题自动定位设备的结构示意图。
附图标记:1-Optimizatio Agent模块;21-收集模块;22-分析调用模块;23-生成模块;41-处理器;42-存储器。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
在现有技术中,通过监控命令监控指标,只能实时监控,无法存储,且对多个***监控需要开启多个监控窗口,显得比较混乱。对于 Jprofiler/jvisualvm都必须在服务端项目进程中配置相关的监控参数;然后工具通过远程连接到项目进程,获取相关的数据,这样就会带来一些不便,比如线上环境的网络是隔离的,本地的监控工具根本连不上线上环境,并且类似于jprofiler这样的商业工具,是需要付费的。现有技术中只能监控资源消耗情况,却无法给出相对应的优建议,对于性能测试经验不足的同事来说,无疑是比较痛苦的分析过程。
为了至少解决本发明中提出的技术问题,本发明实施例提供一种***性能问题自动定位装置。
图1为本发明实施例提供的一种***性能问题自动定位装置的结构示意图,参阅图1,本申请实施例的装置可以包括:Optimizatio Agent模块1, Optimizatio Agent模块1可以设置部署在被测***服务器上,从而对被测***进行测试。***性能问题自动定位装置包括:收集模块21、分析调用模块22、生成模块23。其中,收集模块21,用于在测试过程中,通过Optimizatio Agent,收集对应的性能指标数据,存储到时序数据库(TimeSeries DB)中。分析调用模块22,用于通过anaiygic unit分析单元,调用Optimizatio Agent 检查被测服务器的预设检查项,解析出需要优化的内容,并将需要优化的内容存储到MySql数据库中。生成模块23,用于基于时序数据库中的性能指标数据,和,MySql数据库中的需要优化的内容,生成压测前的指标与压测后的对比报告,对比报告包括:硬件对比报告、检查项报告或优化建议报告中的至少一种。
其中,Agent技术是一种处于一定环境下包装的计算机***,为实现设计目的,能在该环境下灵活的,自主的活动。而在1995年Wooldrige给出了Agent 的两中定义:(弱定义)Agent用以最一般的说明一个软硬件***,她具有这样的特性:自治性,社会性,反映性,能动性;(强定义)Agent除了具备弱定义中的所有特性外,还应具备一些人类才具有的特性,如知识,信念,义务,意图等。
图2为本发明实施例提供的另一种具体***性能问题自动定位装置的结构示意图,参阅图1和图2,可选的,Optimizatio Agent模块1中的Optimizatio Agent,包括:CPUagent、Memory agent、Disk agent、DB agent和Thread agent;
分析调用模块22,用于通过anaiygic unit分析单元,调用CPU agent检查高负载CPU的线程、dump线程信息,基于Thread agent存储的信息,解析出需要优化的代码;通过anaiygic unit分析单元,调用Memory agent检查 gcutil情况,再通过Thread agent存储的信息,解析出需要优化的代码和需要优化的JVM配置项;通过anaiygic unit分析单元,调用DB agent检查数据库连接数、慢SQL情况,再通过Thread agent存储的信息,解析出需要优化的数据库配置项;通过anaiygic unit分析单元,调用Disk agent检查磁盘的读写情况,再通过Thread agent存储的信息,解析出需要优化的代码和配置项。
TimeSeries DB:时间序列数据库主要用于指处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。
MySQL:是一种关系型数据库管理***,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
线程监控shell:show-busy-java-threads.sh。
zabbix:是一个基于WEB界面的提供分布式***监视以及网络监视功能的企业级的开源解决方案。
Jprofiler:JProfiler是一个商业的主要用于检查和跟踪***(限于Java 开发的)的性能的工具。JProfiler可以通过时时的监控***的内存使用情况,随时监视垃圾回收,线程运行状况等手段。
visualvm:用于查看Java虚拟机(Java Virtual Machine,JVM)上运行的基于Java技术的应用程序的详细信息。
可选的,生成模块23,用于生成压测前与压测后的指标报告,展示性能使用率高于预设阈值或性能使用率排名在预设范围内的配置项,并显示对应的解释说明。
可选的,分析调用模块22,还用于调用CPU agent检查记录用户栈、***栈、中断、上下文切换、CPU负载、CPULoad、CPU内核函数跟踪、CPU调度级别中的至少一个监控指标;调用Memory agent检查记录扫描页,缺页跟踪,内存交换,可用虚拟内存,内存使用率和饱和度,内存分配跟踪等,内存活动中的至少一个监控指标;调用DB agent检查自定义慢SQL收集、实时连接数收集、活动连接数收集、缓存池大小、查询缓存、DB活动中的至少一个监控指标;调用Disk agent检查记录跟踪和统计逻辑I/O、页缓存统计read和Write、慢事件文件跟踪、动态跟踪文件实践、文件***缓存命中率、阻塞I/O统计、文件块大小、磁盘I/O活动中的至少一个监控指标。
可选的,Thread agent的检查项目,包括:记录dump Thread快照,多线程状态,线程的生命周期,JVM各区域情况,GC回收情况,高消耗资源线程信息,线程死锁/循环,Stackoverflow中的至少一种。
本发明实施例提供的***性能问题自动定位装置,在被测***服务器上部署添加Optimizatio Agent,对被测***进行测试;在测试过程中,通过 Optimizatio Agent,收集对应的性能指标数据,存储到时序数据库中;通过 anaiygic unit分析单元,调用Optimizatio Agent检查被测服务器的预设检查项,解析出需要优化的内容,并将需要优化的内容存储到MySql数据库中;基于时序数据库中的性能指标数据,和,MySql数据库中的需要优化的内容,生成压测前的指标与压测后的对比报告,对比报告包括:硬件对比报告、检查项报告或优化建议报告中的至少一种。在压测过程中能判断出性能瓶颈并给出优化方案,通过Optimizatio Agent的收集相关性能指标,通过analytic unit 分析单元,进行常规检查,出具压测前的指标与压测后的指标报告,展示性能使用率比较高的配置项,给出解释说明;无需通过其他软件或者命令进行性能监控;一站式诊断监控,并且可以出具想关的优化建议。
本申请中,解决了基于压测过程中链路或者单一节点下性能问题难排查的问题;降低测试人员或开发人员定位问题的难度;包含多个维度多层次下的问题解决方案并给出合理化建议;可扩展性强,定位基准可根据需求自定义。
基于一个总的发明构思,本发明实施例还提供一种***性能问题自动定位方法。
图3为本发明实施例提供的一种***性能问题自动定位方法的流程示意图,参阅图3,被测***服务器上部署添加Optimizatio Agent,对被测***进行测试,本发明实施例提供的方法,可以包括以下步骤:
S31、在测试过程中,通过Optimizatio Agent,收集对应的性能指标数据,存储到时序数据库中。
S32、通过anaiygic unit分析单元,调用Optimizatio Agent检查被测服务器的预设检查项,解析出需要优化的内容,并将需要优化的内容存储到MySql 数据库中。
S33、基于时序数据库中的性能指标数据,和,MySql数据库中的需要优化的内容,生成压测前的指标与压测后的对比报告,对比报告包括:硬件对比报告、检查项报告或优化建议报告中的至少一种。
可选的,Optimizatio Agent,包括:CPU agent、Memory agent、Disk agent、 DBagent和Thread agent;
通过anaiygic unit分析单元,调用Optimizatio Agent检查被测服务器的预设检查项,解析出需要优化的内容,包括:
通过anaiygic unit分析单元,调用CPU agent检查高负载CPU的线程、 dump线程信息,基于Thread agent存储的信息,解析出需要优化的代码;
通过anaiygic unit分析单元,调用Memory agent检查gcutil情况,再通过Threadagent存储的信息,解析出需要优化的代码和需要优化的JVM配置项;
通过anaiygic unit分析单元,调用DB agent检查数据库连接数、慢SQL 情况,再通过Thread agent存储的信息,解析出需要优化的数据库配置项;
通过anaiygic unit分析单元,调用Disk agent检查磁盘的读写情况,再通过Thread agent存储的信息,解析出需要优化的代码和配置项(如日志类,小文件读和写,文件合并等情况)。
可选的,生成压测前的指标与压测后的对比报告,包括:
生成压测前与压测后的指标报告,展示性能使用率高于预设阈值或性能使用率排名在预设范围内的配置项,并显示对应的解释说明。
可选的,调用CPU agent检查高负载CPU的线程、dump线程信息,还包括:
调用CPU agent检查记录用户栈、***栈、中断(in)、上下文切换(cs)< 主动上下文切换/非主动上下文切换>、CPU负载、CPULoad、CPU内核函数跟踪、 CPU调度级别中的至少一个监控指标;
调用Memory agent检查gcutil情况,还包括:
调用Memory agent检查记录扫描页,缺页跟踪,内存交换,可用虚拟内存,内存使用率和饱和度,内存分配跟踪等,内存活动中的至少一个监控指标;
调用DB agent检查数据库连接数、慢SQL情况,还包括:
调用DB agent检查自定义慢SQL收集、实时连接数收集、活动连接数收集、缓存池大小、查询缓存(命中率)、DB活动中的至少一个监控指标;
调用Disk agent检查磁盘的读写情况,还包括:
调用Disk agent检查记录跟踪和统计逻辑I/O、页缓存统计read()和 Write()、慢事件文件跟踪、动态跟踪文件实践、文件***缓存命中率、阻塞 I/O统计、文件块大小、磁盘I/O活动中的至少一个监控指标。
可选的,Thread agent的检查项目,包括:记录dump Thread快照,多线程状态,线程的生命周期,JVM各区域情况,GC回收情况,高消耗资源线程信息,线程死锁/循环,Stackoverflow中的至少一种。
关于上述实施例中的方法,其中各个步骤执行操作的具体方式已经在有关该装置的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例提供的本发明实施例提供的***性能问题自动定位方法,在被测***服务器上部署添加Optimizatio Agent,对被测***进行测试;在测试过程中,通过Optimizatio Agent,收集对应的性能指标数据,存储到时序数据库中;通过anaiygic unit分析单元,调用Optimizatio Agent检查被测服务器的预设检查项,解析出需要优化的内容,并将需要优化的内容存储到MySql数据库中;基于时序数据库中的性能指标数据,和,MySql数据库中的需要优化的内容,生成压测前的指标与压测后的对比报告,对比报告包括:硬件对比报告、检查项报告或优化建议报告中的至少一种。在压测过程中能判断出性能瓶颈并给出优化方案,通过Optimizatio Agent的收集相关性能指标,通过analytic unit分析单元,进行常规检查,出具压测前的指标与压测后的指标报告,展示性能使用率比较高的配置项,给出解释说明;无需通过其他软件或者命令进行性能监控;一站式诊断监控,并且可以出具想关的优化建议。
基于一个总的发明构思,本发明实施例还提供一种***性能问题自动定位设备。
图4为本发明实施例提供的一种***性能问题自动定位设备结构示意图,请参阅图4,本发明实施例提供的一种***性能问题自动定位设备,包括:处理器41,以及与处理器相连接的存储器42。
存储器42用于存储计算机程序,计算机程序至少用于上述任一实施例记载的***性能问题自动定位方法;
处理器41用于调用并执行存储器中的计算机程序。
基于一个总的发明构思,本发明实施例还提供一种存储介质。
一种存储介质,该存储介质存储有计算机程序,当计算机程序被处理器执行时,实现上述的***性能问题自动定位方法中各个步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA) 等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种***性能问题自动定位方法,其特征在于,被测***服务器上部署添加Optimizatio Agent,对所述被测***进行测试;所述方法,包括:
在测试过程中,通过所述Optimizatio Agent,收集对应的性能指标数据,存储到时序数据库中;
通过anaiygic unit分析单元,调用所述Optimizatio Agent检查所述被测服务器的预设检查项,解析出需要优化的内容,并将所述需要优化的内容存储到MySql数据库中;
基于所述时序数据库中的性能指标数据,和所述MySql数据库中的需要优化的内容,生成压测前的指标与压测后的对比报告,所述对比报告包括:硬件对比报告、检查项报告或优化建议报告中的至少一种。
2.根据权利要求1所述的方法,其特征在于,所述Optimizatio Agent,包括:CPUagent、Memory agent、Disk agent、DB agent和Thread agent;
所述通过anaiygic unit分析单元,调用所述Optimizatio Agent检查所述被测服务器的预设检查项,解析出需要优化的内容,包括:
通过anaiygic unit分析单元,调用CPU agent检查高负载CPU的线程、dump线程信息,基于Thread agent存储的信息,解析出需要优化的代码;
通过anaiygic unit分析单元,调用Memory agent检查gcutil情况,再通过Threadagent存储的信息,解析出需要优化的代码和需要优化的JVM配置项;
通过anaiygic unit分析单元,调用DB agent检查数据库连接数、慢SQL情况,再通过Thread agent存储的信息,解析出需要优化的数据库配置项;
通过anaiygic unit分析单元,调用Disk agent检查磁盘的读写情况,再通过Threadagent存储的信息,解析出需要优化的代码和配置项。
3.根据权利要求1所述的方法,其特征在于,所述生成压测前的指标与压测后的对比报告,包括:
生成压测前与压测后的指标报告,展示性能使用率高于预设阈值或性能使用率排名在预设范围内的配置项,并显示对应的解释说明。
4.根据权利要求2所述的方法,其特征在于,所述调用CPU agent检查高负载CPU的线程、dump线程信息,还包括:
调用CPU agent检查记录用户栈、***栈、中断、上下文切换、CPU负载、CPULoad、CPU内核函数跟踪、CPU调度级别中的至少一个监控指标;
所述调用Memory agent检查gcutil情况,还包括:
调用Memory agent检查记录扫描页,缺页跟踪,内存交换,可用虚拟内存,内存使用率和饱和度,内存分配跟踪等,内存活动中的至少一个监控指标;
所述调用DB agent检查数据库连接数、慢SQL情况,还包括:
调用DB agent检查自定义慢SQL收集、实时连接数收集、活动连接数收集、缓存池大小、查询缓存、DB活动中的至少一个监控指标;
所述调用Disk agent检查磁盘的读写情况,还包括:
调用Disk agent检查记录跟踪和统计逻辑I/O、页缓存统计read和Write、慢事件文件跟踪、动态跟踪文件实践、文件***缓存命中率、阻塞I/O统计、文件块大小、磁盘I/O活动中的至少一个监控指标。
5.根据权利要求2所述的方法,其特征在于,所述Thread agent的检查项目,包括:记录dump Thread快照,多线程状态,线程的生命周期,JVM各区域情况,GC回收情况,高消耗资源线程信息,线程死锁/循环,Stack overflow中的至少一种。
6.一种***性能问题自动定位装置,其特征在于,包括:Optimizatio Agent模块,所述Optimizatio Agent模块设置部署在被测***服务器上,对被测***进行测试,所述装置,包括:收集模块、分析调用模块、生成模块;
所述收集模块,用于在测试过程中,通过所述Optimizatio Agent,收集对应的性能指标数据,存储到时序数据库中;
所述分析调用模块,用于通过anaiygic unit分析单元,调用所述Optimizatio Agent检查所述被测服务器的预设检查项,解析出需要优化的内容,并将所述需要优化的内容存储到MySql数据库中;
所述生成模块,用于基于所述时序数据库中的性能指标数据,和所述MySql数据库中的需要优化的内容,生成压测前的指标与压测后的对比报告,所述对比报告包括:硬件对比报告、检查项报告或优化建议报告中的至少一种。
7.根据权利要求6所述的装置,其特征在于,Optimizatio Agent模块中的OptimizatioAgent,包括:CPU agent、Memory agent、Disk agent、DB agent和Thread agent;
所述分析调用模块,用于通过anaiygic unit分析单元,调用CPU agent检查高负载CPU的线程、dump线程信息,基于Thread agent存储的信息,解析出需要优化的代码;通过anaiygic unit分析单元,调用Memory agent检查gcutil情况,再通过Thread agent存储的信息,解析出需要优化的代码和需要优化的JVM配置项;通过anaiygic unit分析单元,调用DB agent检查数据库连接数、慢SQL情况,再通过Thread agent存储的信息,解析出需要优化的数据库配置项;通过anaiygic unit分析单元,调用Disk agent检查磁盘的读写情况,再通过Thread agent存储的信息,解析出需要优化的代码和配置项。
8.根据权利要求6所述的装置,其特征在于,所述生成模块,用于生成压测前与压测后的指标报告,展示性能使用率高于预设阈值或性能使用率排名在预设范围内的配置项,并显示对应的解释说明。
9.根据权利要求7所述的装置,其特征在于,所述分析调用模块,还用于调用CPU agent检查记录用户栈、***栈、中断、上下文切换、CPU负载、CPULoad、CPU内核函数跟踪、CPU调度级别中的至少一个监控指标;调用Memory agent检查记录扫描页,缺页跟踪,内存交换,可用虚拟内存,内存使用率和饱和度,内存分配跟踪等,内存活动中的至少一个监控指标;调用DB agent检查自定义慢SQL收集、实时连接数收集、活动连接数收集、缓存池大小、查询缓存、DB活动中的至少一个监控指标;调用Disk agent检查记录跟踪和统计逻辑I/O、页缓存统计read和Write、慢事件文件跟踪、动态跟踪文件实践、文件***缓存命中率、阻塞I/O统计、文件块大小、磁盘I/O活动中的至少一个监控指标。
10.一种***性能问题自动定位设备,其特征在于,包括:处理器,以及与所述处理器相连接的存储器;
所述存储器用于存储计算机程序,所述计算机程序至少用于执行权利要求1~5任一项所述的***性能问题自动定位方法;
所述处理器用于调用并执行所述存储器中的所述计算机程序。
CN202110244149.4A 2021-03-05 2021-03-05 ***性能问题自动定位方法、装置及设备 Pending CN112905431A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110244149.4A CN112905431A (zh) 2021-03-05 2021-03-05 ***性能问题自动定位方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110244149.4A CN112905431A (zh) 2021-03-05 2021-03-05 ***性能问题自动定位方法、装置及设备

Publications (1)

Publication Number Publication Date
CN112905431A true CN112905431A (zh) 2021-06-04

Family

ID=76107790

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110244149.4A Pending CN112905431A (zh) 2021-03-05 2021-03-05 ***性能问题自动定位方法、装置及设备

Country Status (1)

Country Link
CN (1) CN112905431A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553267A (zh) * 2021-07-22 2021-10-26 招商银行股份有限公司 应用性能测试方法、设备、介质及计算机程序产品
CN113645217A (zh) * 2021-08-06 2021-11-12 上海中通吉网络技术有限公司 自适应调整访问阈值的方法
CN113886205A (zh) * 2021-09-28 2022-01-04 招商银行股份有限公司 数据库性能瓶颈定位分析方法、装置、***及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101533366A (zh) * 2009-03-09 2009-09-16 浪潮电子信息产业股份有限公司 一种服务器性能数据采集与分析的方法
US20100153475A1 (en) * 2008-12-16 2010-06-17 Sap Ag Monitoring memory consumption
CN105760286A (zh) * 2016-02-17 2016-07-13 中国工商银行股份有限公司 应用数据库动态性能检测方法及检测装置
CN108446210A (zh) * 2018-02-07 2018-08-24 平安科技(深圳)有限公司 ***性能的度量方法、存储介质和服务器
CN110941553A (zh) * 2019-11-22 2020-03-31 山东英信计算机技术有限公司 一种代码检测方法、装置、设备及可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100153475A1 (en) * 2008-12-16 2010-06-17 Sap Ag Monitoring memory consumption
CN101533366A (zh) * 2009-03-09 2009-09-16 浪潮电子信息产业股份有限公司 一种服务器性能数据采集与分析的方法
CN105760286A (zh) * 2016-02-17 2016-07-13 中国工商银行股份有限公司 应用数据库动态性能检测方法及检测装置
CN108446210A (zh) * 2018-02-07 2018-08-24 平安科技(深圳)有限公司 ***性能的度量方法、存储介质和服务器
CN110941553A (zh) * 2019-11-22 2020-03-31 山东英信计算机技术有限公司 一种代码检测方法、装置、设备及可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553267A (zh) * 2021-07-22 2021-10-26 招商银行股份有限公司 应用性能测试方法、设备、介质及计算机程序产品
CN113645217A (zh) * 2021-08-06 2021-11-12 上海中通吉网络技术有限公司 自适应调整访问阈值的方法
CN113886205A (zh) * 2021-09-28 2022-01-04 招商银行股份有限公司 数据库性能瓶颈定位分析方法、装置、***及存储介质

Similar Documents

Publication Publication Date Title
US8949671B2 (en) Fault detection, diagnosis, and prevention for complex computing systems
CN112905431A (zh) ***性能问题自动定位方法、装置及设备
US8141053B2 (en) Call stack sampling using a virtual machine
US7434206B2 (en) Identifying memory leaks in computer systems
US8566800B2 (en) Detection of method calls to streamline diagnosis of custom code through dynamic instrumentation
US7792950B2 (en) Coverage analysis of program code that accesses a database
US7937623B2 (en) Diagnosability system
US6728955B1 (en) Processing events during profiling of an instrumented program
US8677191B2 (en) Early detection of failing computers
US6539339B1 (en) Method and system for maintaining thread-relative metrics for trace data adjusted for thread switches
CN101295268B (zh) 面向软件***的分区存储器转储方法和装置
US7698690B2 (en) Identifying code that wastes time performing redundant computation
Bhatia et al. Lightweight, high-resolution monitoring for troubleshooting production systems
US20120054554A1 (en) Problem isolation in a virtual environment
US7809690B2 (en) Performance metric-based selection of one or more database server instances to perform database recovery
US10067813B2 (en) Method of analyzing a fault of an electronic system
US8806462B2 (en) Identifying code that wastes time switching tasks
JPH04230538A (ja) 障害ソフトウエア・コンポーネントの検出方法及び装置
US20080276129A1 (en) Software tracing
CN109165138A (zh) 一种监控设备故障的方法和装置
US9489379B1 (en) Predicting data unavailability and data loss events in large database systems
CN101859268A (zh) 上下文切换采样
CN111427780A (zh) 函数信息的追踪方法、装置和计算机可读存储介质
US8356284B2 (en) Threading model analysis system and method
US9910758B2 (en) Computer flight recorder with active error detection

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