CN109271373B - 一种自动化mysql性能采集分析方法 - Google Patents
一种自动化mysql性能采集分析方法 Download PDFInfo
- Publication number
- CN109271373B CN109271373B CN201811073798.7A CN201811073798A CN109271373B CN 109271373 B CN109271373 B CN 109271373B CN 201811073798 A CN201811073798 A CN 201811073798A CN 109271373 B CN109271373 B CN 109271373B
- Authority
- CN
- China
- Prior art keywords
- data
- value
- database
- mysql
- acquisition
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种自动化MYSQL性能采集分析方法,包括如下步骤:S1、连接数据库;S2、收集重要参数;S3、数据的存储;S4、数据清洗处理;S5、采集频率监控;S6、建议值取值范围算法。本发明提供的自动化MYSQL性能采集分析方法,定期采集数据状态的值,对后续的数据库优化提升有明显效果;当业务在峰值期间,如对数据库采集很容易实现针对性参数配置不合适的情况,减少运维人员工作量,还能随时监控数据参数的状态;当对MYSQL做数据库底层优化的时候,将一段时间的数据与数据清洗工具运行,即可发现整个状态的参数设置,后续对数据库建设性优化和性能优化相对容易。
Description
技术领域
本发明涉及一种数据库性能采集分析方法,尤其涉及一种自动化MYSQL性能采集分析方法。
背景技术
在使用MYSQL数据库过程中,运维或者DBA经常会遇到调优数据库参数问题,而且不同业务需求参数配置也是不尽相同,常出现以下两种情况:
1、MYSQL配置文件配置的合理性,默认的基本参数配置是否已经符合目前业务对数据库性能要求。
2、如若业务的需求的变动,数据库性能的处于业务高峰是否会有性能瓶颈。
目前业界一般采用以下方法进行避免:
1、业务上线前测试机上测试数据库配置性能信息,但后续业务修改造成不一致性。
2、业务上线后运行瓶颈后直接修改数据库配置不合理参数,但业务峰值数据波动较大。
目前的方式存在以下不足:
1、数据库所有运行状态数据是全局数据存储,但仅需要某个时间段数据库启动运行点开始数据。
2、数据库运行期间,峰值时期的运行数据的不确定性。
3、业务运行期间,如果需求对部分参数调整,统计期间的状态数据全部就变动,需要临时保存。
为此,有必要提出一种自动化MYSQL性能采集分析工具及其使用方法,以解决上述背景技术中提到的问题。
发明内容
本发明所要解决的技术问题是提供一种自动化MYSQL性能采集分析方法,能够随时监控数据参数的状态,便于后续更好地对数据库建设和性能进行优化。
本发明为解决上述技术问题而采用的技术方案是提供一种自动化MYSQL性能采集分析方法,包括如下步骤:S1)连接数据库:预安装驱动包Mysql-python,并对MYSQL数据库进行连接;S2)收集参数:通过对数据库查询,收集对应参数,存放于self.variables[cache];S3)数据的存储:将采集后的数据保存于数据目录下,并对数据进行持久化处理;S4)数据清洗处理:包括检查数据一致性,处理无效值和缺失值;S5)采集频率监控:将采集数据定时写入到log日志文件;S6)建议值取值范围算法:在清洗超过阀值的数据后,选取建议值并反馈到客户端,建议值=((VRATIO-FLAG)*NOWVALUE+VALUE);VRATIO为最大值和最小值之间的倍数,FLAG为配置文件的值,NOWVALUE为当前获取的值,VALUE为当前设置的值。
上述的自动化MYSQL性能采集分析方法,其中,所述步骤S2中当前保存状态值Sn计算公式如下:
Sn=(D2-D1)/(Tt2-Tt1);
Tt1=NowTime-T1,Tt2=NowTime-T2;
T1为工具启动时间,T2为工具执行完毕时间,D1为启动时查询值,D2为结束时查询值。
上述的自动化MYSQL性能采集分析方法,其中,所述步骤S4中采用脚本工具处理采集的数据,采集时间段的数据格式如下参数名Vname、最大值Vmax、最小值Vmin、平均值Vavg和倍数Vratio。
上述的自动化MYSQL性能采集分析方法,其中,所述步骤S5中数据采集间隔时间为3分钟-15分钟。
本发明对比现有技术有如下的有益效果:本发明提供的自动化MYSQL性能采集分析方法,定期采集数据状态的值,对后续的数据库优化提升有明显效果;当业务在峰值期间,如对数据库采集很容易实现针对性参数配置不合适的情况,减少运维人员工作量,还能随时监控数据参数的状态;当对MYSQL做数据库底层优化的时候,将一段时间的数据与数据清洗工具运行,即可发现整个状态的参数设置,后续对数据库建设性优化和性能优化相对容易。
附图说明
图1为本发明自动化MYSQL性能采集系统架构示意图;
图2为本发明自动化MYSQL数据采集流程示意图;
图3为本发明自动化MYSQL性能采集分析运作流程示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
图1为本发明自动化MYSQL性能采集系统架构示意图。
请参见图1,本发明使用Python语言作为开发,将对数据库运行期间状态参数的全面采集并计算,以及给出调优建议。工具运行期间将定时保存指定时间段的数据库运行状态数据,由于该工具只是去查询部分运行参数,所以不会对运行业务有影响。
本发明提供的自动化MYSQL性能采集分析方法,包括如下步骤:
S1.连接数据库
预安装驱动包:Mysql-python,并对MYSQL数据库进行连接
S2.收集重要参数
通过对数据库查询,收集对应参数,存放于self.variables[cache],数值存放时刻;若T1为工具启动时间,T2为工具执行完毕时间,D1为启动时查询值,D2为结束时查询值;时间间隔段内保存其值,公式如下:
全局数据时间段为:Tt1=NowTime-T1,Tt2=NowTime-T2,Tt3=NowTime-T3…
Sn=(D2-D1)/(Tt2-Tt1);Sn为当前保存状态值。
数据库的状态参数均保存在内存中,重启时会被冲洗掉,此时可能造成较大的波动,导致数据失真。该方式解决了,数据库在修改期间或者重启期间状态数据波动问题。
以下为脚本数据保存和格式化:
1.self.computer=self.mysqlvariables+=self.variables[cache].strFormat[Mysql.status]
2.self.totalcomputer=mysqlstatuscomputer+=monitor.statuslist[cache]
注:1.为瞬时状态;2.为全局状态
例查询缓存相关状态参数:
S3.数据的存储
将采集后的数据保持于数据目录下。对处理的数据进行持久化,后续可以根据部分重要参数数据进行清理。
S4.数据清洗处理
根据之前采集的数据使用脚本工具处理,采集时间段的数据格式如下:
参数名 | 最大值 | 最小值 | 平均值 | 倍数 |
Vname | Vmax | Vmin | Vavg | Vratio |
最大值和最小值是通过脚本工具自动判断的,平均值为自动计算得出,算法如下:
最大值:
while a do
Vmax=VmaxL>Vmaxn?VmaxL:Vmaxn;
end
最小值:
while b do
Vmin=VminP<VminR?VmaxP:VmaxR;
end
均值:
倍数:
Vratio=VMax%VMin
S5.采集频率监控
每间隔3分钟,在采集数据后,写入到log日志文件。
数据库状态数据为:
全局:DBSTATUS=(QUERYDATA/180)
瞬时:DBSTATUS=(QUERYDATA/(ENDTIME-STARTTIME)/180)
S6.建议值取值范围算法
在清洗超过阀值的数据后,进行建议值算法,反馈客户端。
建议值=((VRATIO-FLAG)*NOWVALUE+VALUE)
VRATIO为最大值和最小值之间的倍数,FLAG为配置文件的值,NOWVALUE为当前获取的值,VALUE为当前设置的值。
该时间可以自己设定一般建议采集时间段在(3分钟到15分钟),时间太长数据波动较大,影响最后的状态建议。
图2为本发明自动化MYSQL数据采集流程示意图。
1.由用户发起对数据库参数状态数据收集。
2.数据库服务端响应请求,查询出数据,工具后台准确计算对应数据库参数数据,跟踪其变化值。
3.执行工具计算对于运行参数并回写,计算执行后,标记计算过的状态数据。
伪代码如下:
标记了所用self的状态值,并格式化逐一显示。
4.对清洗过数据判断,下表为列出的几个重要性能参数的计算和判断方法,以及建议的阈值:
以上内置参数,验证过程伪代码:
5.输出显示,如果参数状态正常,返回计算值,不提示修改。
图3为本发明自动化MYSQL性能采集分析运作流程示意图。
1.用户定制工具运行时间,并加入Crontab中,配置工具文件目录。
2.工具创建SQL连接,运行工具频次采集,工具执行SQL查询。
self.variables保存所有运行时状态参数。
self.processlist保存当前运行SQL状态。
3.根据指定算法,计算数据当前时间点变化数值:
工具将所需参数状态数据计算后,格式化输出保存log中。
4.结果集状态数据持久化至logfile,清洗工具后续二次处理和合并归档。
5.数据清洗和check状态数据是否正常。
6.将阀值超出的数据归档显示,并给出建议值。
采集时间段在3分钟-15分钟,时间太长数据波动较大,影响最后的状态建议。
综上所述,与现有技术相比,本发明有益效果为:
1.运维人员或者DBA在对数据库进行数据库监控时,可以不必随时去调整不合理数据参数状态,仅需要在业务上线进行一段时间的数据库压力测试或者业务测试即可。
2.定期采集数据状态的值,对后续的数据库优化提升有明显效果。
3.当业务在峰值期间,如对数据库采集很容易实现针对性参数配置不合适的情况,减少运维人员工作量,还能随时监控数据参数的状态。
4.当对MYSQL做数据库底层优化的时候,将一段时间的数据与数据清洗工具运行,即可发现整个状态的参数设置,后续对数据库建设性优化和性能优化相对容易。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。
Claims (3)
1.一种自动化MYSQL性能采集分析方法,其特征在于,包括如下步骤:
S1)连接数据库:预安装驱动包Mysql-python,并对MYSQL数据库进行连接;
S2)收集参数:通过对数据库查询,收集对应参数,存放于self.variables[cache];
S3)数据的存储:将采集后的数据保存于数据目录下,并对数据进行持久化处理;
S4)数据清洗处理:包括检查数据一致性,处理无效值和缺失值;
S5)采集频率监控:将采集数据定时写入到log日志文件;
S6)建议值取值范围算法:在清洗超过阀值的数据后,选取建议值并反馈到客户端,建议值=((VRATIO-FLAG)*NOWVALUE+VALUE);VRATIO为最大值和最小值之间的倍数,FLAG为配置文件的值,NOWVALUE为当前获取的值,VALUE为当前设置的值;
所述步骤S2中当前保存状态值Sn计算公式如下:
Sn=(D2-D1)/(Tt2-Tt1);
Tt1=NowTime-T1,Tt2=NowTime-T2;
T1为工具启动时间,T2为工具执行完毕时间,D1为启动时查询值,D2为结束时查询值。
2.如权利要求1所述的自动化MYSQL性能采集分析方法,其特征在于,所述步骤S4中采用脚本工具处理采集的数据,采集时间段的数据格式如下参数名Vname、最大值Vmax、最小值Vmin、平均值Vavg和倍数VRATIO。
3.如权利要求1所述的自动化MYSQL性能采集分析方法,其特征在于,所述步骤S5中数据采集间隔时间为3分钟-15分钟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811073798.7A CN109271373B (zh) | 2018-09-14 | 2018-09-14 | 一种自动化mysql性能采集分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811073798.7A CN109271373B (zh) | 2018-09-14 | 2018-09-14 | 一种自动化mysql性能采集分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109271373A CN109271373A (zh) | 2019-01-25 |
CN109271373B true CN109271373B (zh) | 2022-03-01 |
Family
ID=65188226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811073798.7A Active CN109271373B (zh) | 2018-09-14 | 2018-09-14 | 一种自动化mysql性能采集分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271373B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641655A (zh) * | 2021-08-17 | 2021-11-12 | 南京云信达科技有限公司 | 一种数据库性能优化算法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102480369A (zh) * | 2010-11-23 | 2012-05-30 | 中兴通讯股份有限公司 | 一种网络管理系统及性能采集的方法 |
CN104243185A (zh) * | 2013-06-06 | 2014-12-24 | 神州数码系统集成服务有限公司 | 一种体验式业务监控系统与方法 |
CN105323111A (zh) * | 2015-11-17 | 2016-02-10 | 南京南瑞集团公司 | 一种运维自动化系统及方法 |
CN106250500A (zh) * | 2016-07-29 | 2016-12-21 | 广州唯品会信息科技有限公司 | 数据库连接池的动态管理方法和系统 |
CN106951351A (zh) * | 2017-01-16 | 2017-07-14 | 上海新炬网络信息技术有限公司 | 一种数据库负载趋势性监控方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100153543A1 (en) * | 2008-12-17 | 2010-06-17 | Bo Lee | Method and System for Intelligent Management of Performance Measurements In Communication Networks |
-
2018
- 2018-09-14 CN CN201811073798.7A patent/CN109271373B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102480369A (zh) * | 2010-11-23 | 2012-05-30 | 中兴通讯股份有限公司 | 一种网络管理系统及性能采集的方法 |
CN104243185A (zh) * | 2013-06-06 | 2014-12-24 | 神州数码系统集成服务有限公司 | 一种体验式业务监控系统与方法 |
CN105323111A (zh) * | 2015-11-17 | 2016-02-10 | 南京南瑞集团公司 | 一种运维自动化系统及方法 |
CN106250500A (zh) * | 2016-07-29 | 2016-12-21 | 广州唯品会信息科技有限公司 | 数据库连接池的动态管理方法和系统 |
CN106951351A (zh) * | 2017-01-16 | 2017-07-14 | 上海新炬网络信息技术有限公司 | 一种数据库负载趋势性监控方法 |
Non-Patent Citations (2)
Title |
---|
MAG: A performance evaluation framework for database systems;AbdAlhamidKhattab et al;《Knowledge-Based Systems》;20150930;第245-255页 * |
数据库性能监控体系的研究与应用;翟岩龙 等;《计算机科学》;20061231;第33卷(第11期);第232-235页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109271373A (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080222092A1 (en) | Automatically determining optimization frequencies of queries with parameter markers | |
US9588832B2 (en) | Data preprocessing device and method associated with a failure risk level of a target system | |
Frisk et al. | Data-driven lead-acid battery prognostics using random survival forests | |
CN109271373B (zh) | 一种自动化mysql性能采集分析方法 | |
CN109960232B (zh) | 领先辅助参数的选择方法和设备维护预诊断的方法 | |
WO2020082516A1 (zh) | 一种运维数据的处理方法、系统及装置 | |
US20030033291A1 (en) | SQL execution analysis | |
WO2022237266A1 (zh) | 车辆保养信息的确定方法、装置、设备及介质 | |
CN110908844B (zh) | 电弧故障检测方法、装置、计算机可读存储介质及插座 | |
US8838416B2 (en) | Air conditioning system diagnostic apparatus | |
CN109519368B (zh) | 储气库往复式压缩机的智能运维与健康管理系统 | |
CN116562599A (zh) | 基于深度学习的高效智能工厂调度系统 | |
CN111555917A (zh) | 基于云平台的告警信息处理方法及装置 | |
CN113760879B (zh) | 数据库异常监测方法、系统、电子设备及介质 | |
CN112069168B (zh) | 一种设备运行数据云端存储方法 | |
CN110457284B (zh) | 基于SQLServer数据库的多时间点数据恢复方法及系统 | |
CN113220726A (zh) | 一种数据质量检测方法及系统 | |
JPWO2019049522A1 (ja) | リスク評価装置、リスク評価システム、リスク評価方法、及び、リスク評価プログラム | |
CN112113674B (zh) | 制冷装置的监测方法、样本分析仪及计算机存储介质 | |
CN115030885B (zh) | 一种空压机一体机 | |
CN115438058A (zh) | 数据处理方法及装置 | |
CN115081104A (zh) | 一种发射场试验鉴定数据包络线分析计算方法 | |
CN116911603A (zh) | 基于生存函数的mdae风险预测方法及系统 | |
CN115712647A (zh) | 自动化批量检查银行核心系统的方法及装置 | |
CN113901014A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |