CN117851197A - 一种对监控数据打分快速定位MySQL性能问题的方法 - Google Patents
一种对监控数据打分快速定位MySQL性能问题的方法 Download PDFInfo
- Publication number
- CN117851197A CN117851197A CN202311693464.0A CN202311693464A CN117851197A CN 117851197 A CN117851197 A CN 117851197A CN 202311693464 A CN202311693464 A CN 202311693464A CN 117851197 A CN117851197 A CN 117851197A
- Authority
- CN
- China
- Prior art keywords
- monitoring
- scoring
- mysql
- value
- performance
- 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
- 238000012544 monitoring process Methods 0.000 title claims abstract description 111
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000004044 response Effects 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000012886 linear function Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000009530 blood pressure measurement Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种可以快速定位MySQL数据库性能问题的方法,属于IT与软件开发技术领域,包括以下步骤:获取MySQL数据库监控项的历史值;当其与数据库性能的影响严重程度满足正向关系时,按照监控项过滤历史值;构建评分模型;确认每项监控项的分数边界;对过滤后的历史值线性拟合;求过滤后监控项的分数sk;计算MySQL数据库的最终评分S;对评分S从高到低排序;按照S排序后的顺序对sk从高到低排序;展示排序后的结果。本发明通过对监控项进行打分,并根据打分结果确定出现性能问题的监控项,从而快速定位MySQL性能问题。
Description
技术领域
本发明涉及一种对监控数据打分快速定位MySQL性能问题的方法,属于IT与软件开发技术领域。
背景技术
数据是企业的核心资产,MySQL数据库作为数据的存储介质在大多数业务以及应用场景中发挥着重要作用。保障数据库安全、稳定、高效地运行是数据库技术的关键要求。通常,技术人员依靠数据库监控去发现、分析、解决数据库问题。然而,现有数据库的监控项数量较多,有时候技术人员需要结合多个监控项对数据库性能进行分析,定位问题耗时会比较久,因此如何缩短技术人员定位数据库性能的时间变得尤为重要。
现有公开号为:CN112905431A发明专利公开了一种系统性能问题自动定位方法、装置及设备,在被测系统服务器上部署添加OptimizatioAgent,对被测系统进行测试;在测试过程中,通过OptimizatioAgent,收集对应的性能指标数据,存储到时序数据库中;通过anaiygicunit分析单元,调用OptimizatioAgent检查被测服务器的预设检查项解析出需要优化的内容,并将需要优化的内容存储到MySql数据库中;生成压测前的指标与压测后的对比报告。在压测过程中能判断出性能瓶颈并给出优化方案,通过OptimizatioAgent的收集相关性能指标,通过analyticunit分析单元进行常规检查,出具压测前的指标与压测后的指标报告,展示性能使用率比较高的配置项,给出解释说明;无需通过其他软件或者命令进行性能监控。
上述现有的定位方法虽然能够进行性能问题定位,但是还是存在定位耗时,不便于进行快速获取性能问题并定位,对此本发明提出一种能够对MySQL性能问题通过打分进行快速定位的效果。
发明内容
本发明的目的是提供一种对监控数据打分快速定位MySQL性能问题的方法,通过对监控项进行打分,并根据打分结果确定出现性能问题的监控项。
为实现上述目的,本发明提供了如下技术方案:
一种对监控数据打分快速定位MySQL性能问题的方法,包括:
S1:获取MySQL数据库中的监控项,并获取监控项在MySQL数据库中的历史值,MySQL数据库还设置有影响数据库性能的影响程度,根据监控项的历史值大小与影响程度判断是否满足正向线性关系,满足正向线性关系则进入下一步,若不满足则退出;
S2:确定MySQL数据库中进行打分的监控项,对步骤S1中对应监控项的历史值过滤;
S3:对步骤S2中的监控项设置权重值;
S4:构建用于对MySQL数据库进行评分的评分模型;
S5:获取步骤S2中监控项的历史值,并以从小到大的顺序排列,以获得上阈值和下阈值,将上阈值作为监控项历史值的上边界,下阈值作为监控项历史值的下边界;
S6:对包含在上边界和下边界之间的数据进行线性拟合,得到拟合函数;
S7:利用评分模型计算出监控项的评分分数sk;
S8:利用评分模型计算出用于表征MySQL数据库性能的最终评分S;
S9:对S进行排序,并对sk进行排序,根据S和sk进行判断是否出现MySQL数据库性能问题。
作为本发明的进一步改进,所述步骤S1中监控项包括CPU使用率、主从同步延迟时间、锁等待线程个数、网卡流量、磁盘流量、响应时间。
作为本发明的进一步改进,所述步骤S3包括S31,所述S31为:
设定MySQL数据库中监控项的个数为n,设其中的第k个监控项的权重值为ak,在设置权重值时n个所述监控项的权重值之和表达为a1+a2+…+ak+…+an-1+an=100。
作为本发明的进一步改进,设定MySQL数据库中第k个监控项的分数为sk,则具体MySQL数据库的评分模型构建为:
作为本发明的进一步改进,所述步骤S5包括以下步骤:
S51:将低于下边界的监控项历史值作为最低分数值,并记为smin;将大于上边界的监控项历史值作为最大分数值,并记为smax;
S52:所述最大分数smax≤1,所述最小分数smin≥0,若监控项的最大值为0时,所述监控项的分数sk为0。
作为本发明的进一步改进,所述步骤S6中的拟合函数的表达式为
y=ax+b
其中:y表征影响程度,x表征监控值,a表征拟合后线性函数的斜率,b表征拟合后线性函数的截距,在拟合函数曲线中,根据影响程度获得最小影响程度和最大影响程度对应的监控值,记最小影响程度的监控值vmin,记最大影响程度的监控值vmax。
作为本发明的进一步改进,所述步骤S7具体为:
获取进行性能问题定位时,拟合函数中对应项列的监控值,并记为vk,对应的评分分数sk计算为:
作为本发明的进一步改进,所述步骤S8的MySQL数据库最终评分S的计算公式为:
作为本发明的进一步改进,所述步骤S9采用的排列方式为从高到低依次排序,并形成用于表征MySQL数据库性能的性能问题分析表。
作为本发明的进一步改进,根据所述步骤S9形成的性能问题分析表快速定位MySQL数据库在发生性能问题时的监控项位置。
与现有技术相比,本发明所达到的有益效果:
通过确定MySQL数据库中的监控项,以及监控项的历史值和MySQL数据库影响程度判断是否满足线性关系,并在满足线性关系后对监控项配置权重值并构建用于对MySQL数据库进行评分的评分模型,基于评分模型用于计算监控项的评分分数和MySQL数据库性能的最终评分,对监控项的评分分数和MySQL数据库性能的最终评分排序,并判断MySQL数据库是否出现性能问题,以及定位影响MySQL数据库性能问题的监控项位置,实现对监控项打分,快速定位MySQL数据库的性能问题,有效降低了MySQL数据库运行维护的复杂程度,有效提升了性能问题定位的准确性。
附图说明
图1所示为基本流程的示意图;
图2为获得上边界和下边界的原理图;
图3为拟合函数曲线图。
具体实施方式
下面通过附图以及具体实施例对本发明技术方案做详细地说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符"/",一般表示前后关联对象是一种“或”的关系。
本实施例介绍一种对监控数据打分快速定位MySQL性能问题的方法,包括MySQL数据库,MySQL数据库内配置有多个监控项,监控项的类型包括:CPU使用率、主从同步延迟时间、锁等待线程个数、网卡流量、磁盘流量、响应时间。其中CPU使用率的含义是衡量CPU在特定时间段内的利用率,表示系统处理能力的使用程度;主从同步延迟时间用于主从复制环境中,表示从库与主库之间数据同步的延迟时间,延迟时间越高,表示数据同步滞后的程度越大;锁等待线程个数的含义是正在等待获取锁资源的线程数量,当并发操作导致锁冲突时,等待锁资源的线程会增加,如果等待线程过多,可能会导致性能下降;网卡流量指通过网络接口传输的数据量,监控网卡流量可以了解数据库系统的网络负载情况,帮助识别网络瓶颈和调整网络配置;磁盘流量表示磁盘读写操作的数据量,监控磁盘流量可以评估数据库的IO负载,帮助发现磁盘性能瓶颈和进行优化;响应时间指数据库系统处理用户请求所需的时间,较低的响应时间表示数据库系统能够迅速响应用户请求,而较高的响应时间可能暗示性能问题或负载过重。根据对MySQL数据库中的监控项进行打分并通过打分确定MySQL数据库是否出现性能问题,以及对影响MySQL数据库性能的监控项基于打分的分数进行快速定位。
对MySQL数据库中监控项进行打分并定位的方法包括以下步骤:
S1:根据MySQL数据库获取监控项的历史值,MySQL数据库还设置有影响数据库性能的影响程度,根据监控项的历史值大小与影响程度判断是否满足正向关系,若满足正向关系则进入下一步,若不满足正向关系则不采纳该监控项指标并退出。
S2:确定MySQL数据库中进行打分的监控项,确定的监控项为CPU使用率、主从同步延迟时间、锁等待线程个数、网卡流量、磁盘流量、响应时间中的一项或多项,对步骤S1中对应监控项的历史值过滤。
S3:在步骤S2中确定的项例个数为n,根据影响数据库性能的影响程度对S2中的监控项设置权重值,设其中的第k个项例的权重值为ak,在设置权重值的时候要保证S2中确定的所有项例的权重值加起来等于100,即a1+a2+…+ak+…+an-1+an=100。
S4:构建MySQL数据库的评分模型,设定步骤S3中第k个项例的分数为sk,基于分数和权重值构建评分模型,具体MySQL数据库的评分模型为
S5:确认监控项分数边界,选取步骤S2中各项例的历史值,并按照从小到大的顺序排列,取排列后的下阈值和上阈值,下阈值其取值为5%,上阈值取值为95%,下阈值表征为监控检测历史值的下边界,上阈值表征为监控检测历史值的上边界,如果监控值低于下边界,则将该项监控值的分数设为最低分数smin;如果单项监控值大于上边界值,则将该项监控值的分数设为最大分数smax;如果单项监控项的最大值为0,则该单项得分数设为0,各单项监控项的最大分数smax须满足smax≤1,最小分数smin≥0。
S6:将步骤S5各项监控值的数据包含在上边界与下边界之内的数据进行线性拟合得到拟合函数,拟合函数为线性函数,拟合函数的表达式为y=ax+b,其中y轴为影响程度,x轴为监控值,a、b分别为拟合后线性函数的斜率和截距。在拟合函数曲线中,根据影响程度的大小可以得到vmin和vmax,其中vmin是最小影响程度对应的监控值,vmax是最大影响程度对应的监控值。
S7:求步骤S4中的分数sk,若第k个项例的当前值大小为vk,则该项例的评分分数sk计算为sk的值越接近1,则该项例对数据库性能的影响越大。
S8:计算各MySQL数据库的最终评分
MySQL数据库实例的评分S的值越接近于设置的评分阈值,评分阈值取值为100,则该数据库实例越有可能出现性能问题,需要技术人员重点关注。
S9:对步骤S8计算出来的评分S从高到低依次排序。
S10:以步骤S9排序后的数据库实例为基准,再对每个项例的评分分数sk从高到低依次排序。
S11:对排序后的实例、各MySQL数据库最终评分S、各监控项名称、各监控项对应的分数、各监控项对应的值展示到前端界面,技术人员可通过查看该前端界面优先排查出可能出现性能问题的数据库实例,以及可能影响性能的具体监控项。
在步骤S8完成之后,就可以通过数据库实例的评分,判断出该数据库性能是否有问题,相较于传统方法去判断数据库是否有性能问题,这种方法可以节约大量的时间,而且相较于传统的人为判断方法,准确率也有明显的提升。
在完成步骤S11之后,就可以通过显示的结果判断出哪一个数据库出现了性能问题,以及该性能问题是由哪一个监控项产生的,这种方法对于排查产生问题的监控项比较友好,不再像传统方法那样依赖于运维工程师的丰富经验,对于新手也可以快速找到问题所在。
综上实施例,本发明可以通过确定MySQL数据库中的监控项,以及监控项的历史值和MySQL数据库影响程度判断是否满足线性关系,并在满足线性关系后对监控项配置权重值并构建用于对MySQL数据库进行评分的评分模型,基于评分模型用于计算监控项的评分分数和MySQL数据库性能的最终评分,对监控项的评分分数和MySQL数据库性能的最终评分排序,并判断MySQL数据库是否出现性能问题,以及定位影响MySQL数据库性能问题的监控项位置,实现对监控项打分,快速定位MySQL数据库的性能问题,无需针对多个监控项逐一排查,有效降低了MySQL数据库运行维护的复杂程度,有效提升了性能问题定位的准确性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (10)
1.一种对监控数据打分快速定位MySQL性能问题的方法,其特征在于,包括:
S1:获取MySQL数据库中的监控项,并获取监控项在MySQL数据库中的历史值,MySQL数据库还设置有影响数据库性能的影响程度,根据监控项的历史值大小与影响程度判断是否满足正向线性关系,满足正向线性关系则进入下一步,若不满足则退出;
S2:确定MySQL数据库中进行打分的监控项,对步骤S1中对应监控项的历史值过滤;
S3:对步骤S2中的监控项设置权重值;
S4:构建用于对MySQL数据库进行评分的评分模型;
S5:获取步骤S2中监控项的历史值,并以从小到大的顺序排列,以获得上阈值和下阈值,将上阈值作为监控项历史值的上边界,下阈值作为监控项历史值的下边界;
S6:对包含在上边界和下边界之间的数据进行线性拟合,得到拟合函数;
S7:利用评分模型计算出监控项的评分分数sk;
S8:利用评分模型计算出用于表征MySQL数据库性能的最终评分S;
S9:对S进行排序,并对sk进行排序,根据S和sk进行判断是否出现MySQL数据库性能问题。
2.根据权利要求1所述的一种对监控数据打分快速定位MySQL性能问题的方法,其特征在于:所述步骤S1中监控项包括CPU使用率、主从同步延迟时间、锁等待线程个数、网卡流量、磁盘流量、响应时间。
3.根据权利要求1所述的一种对监控数据打分快速定位MySQL性能问题的方法,其特征在于:所述步骤S3包括S31,所述S31为:
设定MySQL数据库中监控项的个数为n,设其中的第k个监控项的权重值为ak,在设置权重值时n个所述监控项的权重值之和表达为a1+a2+...+ak+...+an-1+an=100。
4.根据权利要求1所述的一种对监控数据打分快速定位MySQL性能问题的方法,其特征在于:设定MySQL数据库中第k个监控项的分数为sk,则具体MySQL数据库的评分模型构建为:
5.根据权利要求1所述的一种对监控数据打分快速定位MySQL性能问题的方法,其特征在于:所述步骤S5包括以下步骤:
S51:将低于下边界的监控项历史值作为最低分数值,并记为smin;将大于上边界的监控项历史值作为最大分数值,并记为smax;
S52:所述最大分数smax≤1,所述最小分数smin≥0,若监控项的最大值为0时,所述监控项的分数sk为0。
6.根据权利要求1所述的一种对监控数据打分快速定位MySQL性能问题的方法,其特征在于:所述步骤S6中的拟合函数的表达式为
y=ax+b
其中:y表征影响程度,x表征监控值,a表征拟合后线性函数的斜率,b表征拟合后线性函数的截距,在拟合函数曲线中,根据影响程度获得最小影响程度和最大影响程度对应的监控值,记最小影响程度的监控值vmin,记最大影响程度的监控值vmax。
7.根据权利要求1所述的一种对监控数据打分快速定位MySQL性能问题的方法,其特征在于:所述步骤S7具体为:
获取进行性能问题定位时,拟合函数中对应项列的监控值,并记为vk,对应的评分分数sk计算为:
8.根据权利要求1所述的一种对监控数据打分快速定位MySQL性能问题的方法,其特征在于:所述步骤S8的MySQL数据库最终评分S的计算公式为:
9.根据权利要求1所述的一种对监控数据打分快速定位MySQL性能问题的方法,其特征在于:所述步骤S9采用的排列方式为从高到低依次排序,并形成用于表征MySQL数据库性能的性能问题分析表。
10.根据权利要求9所述的一种对监控数据打分快速定位MySQL性能问题的方法,其特征在于:根据所述步骤S9形成的性能问题分析表快速定位MySQL数据库在发生性能问题时的监控项位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311693464.0A CN117851197A (zh) | 2023-12-11 | 2023-12-11 | 一种对监控数据打分快速定位MySQL性能问题的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311693464.0A CN117851197A (zh) | 2023-12-11 | 2023-12-11 | 一种对监控数据打分快速定位MySQL性能问题的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117851197A true CN117851197A (zh) | 2024-04-09 |
Family
ID=90535632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311693464.0A Pending CN117851197A (zh) | 2023-12-11 | 2023-12-11 | 一种对监控数据打分快速定位MySQL性能问题的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117851197A (zh) |
-
2023
- 2023-12-11 CN CN202311693464.0A patent/CN117851197A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112214369A (zh) | 基于模型融合的硬盘故障预测模型建立方法及其应用 | |
CN111563014A (zh) | 接口服务性能测试方法、装置、设备和存储介质 | |
CN111459698A (zh) | 一种数据库集群故障自愈方法及装置 | |
CN110442847B (zh) | 基于代码仓库过程管理的代码相似性检测方法及装置 | |
GB2378534A (en) | SQL execution analysis | |
CN109522193A (zh) | 一种运维数据的处理方法、系统及装置 | |
CN111008192A (zh) | 一种数据管理方法、装置、设备及介质 | |
CN110377519B (zh) | 大数据系统的性能容量测试方法、装置、设备及存储介质 | |
CN108897765A (zh) | 一种数据批量导入方法及其系统 | |
CN107609179B (zh) | 一种数据处理方法及设备 | |
CN117333143B (zh) | 一种成本科目字典设置方法及系统 | |
CN106909454A (zh) | 一种规则处理方法和设备 | |
CN113190422B (zh) | Sql语句的质量分析方法、装置、终端及介质 | |
CN117851197A (zh) | 一种对监控数据打分快速定位MySQL性能问题的方法 | |
CN115248782B (zh) | 一种自动化测试方法、装置及计算机设备 | |
CN107703884B (zh) | 一种数控机床可用性改进方法及装置 | |
CN116089518A (zh) | 一种数据模型抽取方法及系统、终端、介质 | |
CN112069168B (zh) | 一种设备运行数据云端存储方法 | |
CN114416410A (zh) | 一种异常分析方法、设备和计算机可读存储介质 | |
CN112882854B (zh) | 一种请求异常的处理方法及装置 | |
CN113742213A (zh) | 一种用于数据分析的方法、系统和介质 | |
CN106776704A (zh) | 统计信息收集方法和装置 | |
CN117993694B (zh) | 一种快捷的多实验室动态巡检系统及装置 | |
JP2001109647A (ja) | 事態状況解析装置 | |
CN117850403B (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 |