CN104503974B - 一种基于云平台的关系数据库自动优化方法 - Google Patents

一种基于云平台的关系数据库自动优化方法 Download PDF

Info

Publication number
CN104503974B
CN104503974B CN201410652028.3A CN201410652028A CN104503974B CN 104503974 B CN104503974 B CN 104503974B CN 201410652028 A CN201410652028 A CN 201410652028A CN 104503974 B CN104503974 B CN 104503974B
Authority
CN
China
Prior art keywords
workprocess
database
processes
plug
optimizing
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.)
Expired - Fee Related
Application number
CN201410652028.3A
Other languages
English (en)
Other versions
CN104503974A (zh
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.)
Beijing Zhongjing Century Technology Co ltd
Original Assignee
HANGZHOU SKY-MOBI 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 HANGZHOU SKY-MOBI TECHNOLOGY Co Ltd filed Critical HANGZHOU SKY-MOBI TECHNOLOGY Co Ltd
Priority to CN201410652028.3A priority Critical patent/CN104503974B/zh
Publication of CN104503974A publication Critical patent/CN104503974A/zh
Application granted granted Critical
Publication of CN104503974B publication Critical patent/CN104503974B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于云平台的关系数据库自动优化方法,属于云平台数据库优化技术领域,该方法能定时收集数据库运行状态信息,以及数据库所在虚拟机的硬件指标信息,适时的主动优化建议、被动优化建议或自动被动优化,提高数据库在云平台中运行性能稳定性。根据数据库编码协定编辑workprocess进程所需的workprocess进程插件代码,在数据库源代码目录的contrib目录下新建一个项目目录,将所述workprocess进程插件代码拷贝安装到项目目录内;在数据库中创建workprocess进程插件;配置数据库配置文件postgresql.conf,加载workprocess进程对应的动态链接库文件;数据库启动时,调用_PG_init钩子程序和调用workprocess进程入口函数来启动workprocess进程;能输出主动优化建议、输出被动优化建议和输出自动被动优化。

Description

一种基于云平台的关系数据库自动优化方法
技术领域
本发明涉及云平台数据库优化技术领域,尤其涉及一种基于云平台的关系数据库自动优化方法。
背景技术
在云平台中,为了达到节能减排的目的,需要在不影响业务的情况下,采取合理搭配虚拟机的方式来减少云环境中开机的物理服务器,以减少耗电。
例如错峰的业务进行搭配,公用的硬件资源不超过物理服务器硬件提供的资源就不会影响业务,同时能提高物理服务器的利用率,减少云环境对物理服务器的需求。参见图1所示,在时间轴P1上,CPU错峰的A业务S3与CPU错峰的B业务M3进行错峰搭配,A业务高峰S1与B业务低谷M2正好错峰,A业务低谷S2与B业务高峰M1也正好错峰,这样在提高物理服务器硬件利用的同时也大大提高了业务处理能力。
例如资源不发生争抢的业务进行搭配,如计算型业务和IO型业务搭配,也不会影响业务的正常使用,达到减少物理服务器需求的目的。参见图2所示,在时间轴P2上,资源不发生争抢的A业务H3与资源不发生争抢的B业务N3进行错峰搭配,A业务高峰H1与B业务低谷N2正好错峰,A业务低谷H2与B业务高峰N1也正好错峰,这样在提高物理服务器硬件利用的同时也大大提高了业务处理能力。
云环境的显著特点是资源共享,意味着运行在相同物理服务器上的虚拟机之间存在资源争抢。虚拟机资源可动态调配,如增加磁盘,调整虚拟CPU,调整内存。虚拟机资源调整后就意味着IOPS能力变化、CPU计算能力变化和内存变化。IOPS(Input/OutputOperationsPerSecond)是指每秒进行读写(I/O)操作的次数,多用于数据库等场合,衡量随机访问的性能。
数据库在云环境中运行往往性能会不稳定,大部分的原因来自于云环境自身的特点,例如资源的争抢导致性能指标的变化,某些指标发生变化后,数据库需要重新优化,否则运行效率会受到影响。例如IOPS指标变化后,如果成本因子不变,导致执行计划未变,进而导致运行效率下降。传统的方法是当发现数据库性能问题时,人为干预调整,时效性差,同时依赖管理员的技术水平。因此,为了数据库能在云环境下获得稳定的运行效率,需要适时的根据运行环境的变化进行自动调整。
云环境的显著特点:一是资源共享,二是虚拟机资源可动态调配。但资源共享就意味着运行在相同物理服务器上的虚拟机之间存在资源争抢,虚拟机资源可动态调整后就意味着IOPS能力变化、CPU计算能力变化和内存变化。数据库在云环境中运行往往性能会不稳定。为了让数据库在云环境中获得稳定的性能,传统的解决方法,需要在发现问题后人为干预,如重新调整数据库参数,重新分配对象存储等。这种传统的方法的缺点:一是时效性比较差,因为要等问题发生后人为干预,属于被动调整;二是依赖管理员的技术能力,人为调整比较容易出现判断失误的问题;三是如果为了达到稳定的目的,往往需要预留较大体量的硬件资源,造成资源的浪费。
发明内容
本发明是为了解决数据库在云平台中运行的性能稳定性由人为进行干预调整,时效性差,同时依赖管理员技术水平高的不足,提供一种定时收集数据库运行状态信息,以及数据库所在虚拟机的硬件指标信息,适时的主动优化建议、被动优化建议或自动被动优化,提高数据库在云平台中运行性能稳定性的一种基于云平台的关系数据库自动优化方法。
为了实现上述目的,本发明采用以下技术方案:
一种基于云平台的关系数据库自动优化方法,其步骤如下:
(1-1)根据数据库编码协定编辑workprocess进程所需的workprocess进程插件代码,所述workprocess进程插件代码包括:SQL插件代码、.c插件代码、.control插件代码和Makefile插件代码;其中,SQL插件代码包括workprocess进程状态表和指标配置表;.c插件代码包括workproecess C代码;.control包括控制文件;Makefile包括安装插件的配置信息;
(1-2)在数据库源代码目录的contrib目录下新建一个项目目录,将所述workprocess进程插件代码拷贝安装到项目目录内;
(1-3)在数据库中创建workprocess进程插件;
(1-4)配置数据库配置文件postgresql.conf,加载workprocess进程对应的动态链接库文件;
(1-5)数据库启动时,调用_PG_init钩子程序和调用workprocess进程入口函数来启动workprocess进程;
(1-5-1)输出主动优化建议;
用workprocess循环获取***信息,并把所述***信息存储到workprocess进程状态表;workprocess循环从指标配置表获取的主动优化指标,并用主动优化指标和从workprocess进程状态表获得的***信息进行比较,并把主动优化建议的信息分别输出到优化建议表和数据库日志;
(1-5-2)输出被动优化建议;
用workprocess循环从指标配置表获取手动被动优化指标,并用手动被动优化指标和所述***信息进行比较,并把被动优化建议的信息分别输出到优化建议表和数据库日志;用workprocess循环从数据库pg_stat获得SQL语句执行的效率,并用从数据库pg_stat获得的SQL语句执行的效率和从指标配置表获得的配置SQL语句执行的效率进行比较,并从指标配置表获得配置SQL语句执行其对应效率时的阈值,然后把SQL语句优化建议分别输出到优化建议表和数据库日志;
(1-5-3)输出自动被动优化;
workprocess循环从指标配置表获取自动被动优化指标,并用自动被动优化指标和所述***信息进行比较,通过SPI接口,调用SQL语句自动优化,并把自动被动优化信息分别输出到优化建议表和数据库日志;
(1-6)数据库关闭时,调用_PG_fini钩子程序来让workprocess进程退出。
本方案能够定时收集数据库运行状态信息,以及数据库所在虚拟机的硬件指标信息,适时的主动优化建议、被动优化建议或自动被动优化,提高数据库在云平台中运行性能稳定性。主动优化建议是自动收集数据库的运行状态信息,根据数据库的运行状况,提前输出指标的优化建议,从而达到提前处理的目的,既不浪费资源又能提高数据库在云平台中获得稳定的性能。被动优化建议,是指当数据库运行环境的硬件性能指标发生变化后,自动对数据库进行优化或输出优化建议。是不可动态更新参数,影响数据库运行的变更参数。参数优化,不可动态配置参数输出优化建议,可动态配置参数自动优化。在某些可动态调整的参数,不影响数据库提供服务的情况下可进行自动被动优化。不可动态调整的参数,或者会影响数据库提供服务的优化动作,输出优化建议。SQL优化,提供优化建议。表空间优化,输出表空间优化建议。
作为优选,在启动workprocess进程时,通过postmaster进程调用fork程序。
作为优选,所述***信息包括负载信息、块设备的IOPS信息、空间信息和内存信息。
作为优选,所述主动优化指标包括CPU、IOPS、内存和空间。本方案还与CPU相关,建议增加或减少CPU;本方案还与IOPS相关,建议提高或降低块设备IOPS能力;本方案还与内存相关,建议增加或减少内存;本方案还与空间相关,建议增加或减少块设备存储。
本发明能够达到如下效果:
1、本发明能够定时收集数据库运行状态信息,以及数据库所在虚拟机的硬件指标信息,适时的主动优化建议、被动优化建议或自动被动优化,提高数据库在云平台中运行性能稳定性。
2、节约人力成本,减少人为干预带来的误判断问题。
3、确保数据库在云平台获得稳定性能的同时,减少资源空闲率。
4、在云平台环境中,为数据库的性能稳定性提供提前优化建议。
5、在平台硬件资源被调整后,自动优化数据库以及提供优化建议。
附图说明
图1是在云平台中,CPU错峰的A业务与CPU错峰的B业务进行错峰搭配的一种示意图。
图2是在云平台中,资源不发生争抢的A业务与资源不发生争抢的B业务进行错峰搭配的一种示意图。
图3是本发明的一种进程逻辑示意图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实例:一种基于云平台的关系数据库自动优化方法,参见图3所示,包括如下步骤:
(1-1)在启动workprocess进程时,通过postmaster进程调用fork程序,根据数据库编码协定编辑workprocess进程所需的workprocess进程插件代码,所述workprocess进程插件代码包括:SQL插件代码、.c插件代码、.control插件代码和Makefile插件代码;其中,SQL插件代码包括workprocess进程状态表和指标配置表;.c插件代码包括workproecess C代码;.control包括控制文件;Makefile包括安装插件的配置信息;
(1-2)在数据库源代码目录的contrib目录下新建一个项目目录,将所述workprocess进程插件代码拷贝安装到项目目录内;
(1-3)在数据库中创建workprocess进程插件;
(1-4)配置数据库配置文件postgresql.conf,加载workprocess进程对应的动态链接库文件;
(1-5)数据库启动时,调用_PG_init钩子程序和调用workprocess进程入口函数来启动workprocess进程;
(1-5-1)输出主动优化建议;
用workprocess循环获取***信息,并把所述***信息存储到workprocess进程状态表;workprocess循环从指标配置表获取的主动优化指标,并用主动优化指标和从workprocess进程状态表获得的***信息进行比较,并把主动优化建议的信息分别输出到优化建议表和数据库日志;workprocess进程调用SPI函数输出主动优化建议;workprocess进程调用SPI函数输出优化建议到优化建议表;workprocess进程调用ereport函数输出优化建议到数据库日志;
所述***信息包括负载信息、块设备的IOPS信息、空间信息和内存信息;所述主动优化指标包括CPU、IOPS、内存和空间;
(1-5-2)输出被动优化建议;
用workprocess循环从指标配置表获取手动被动优化指标,并用手动被动优化指标和所述***信息进行比较,并把被动优化建议的信息分别输出到优化建议表和数据库日志;workprocess进程调用SPI函数输出被动优化建议;
用workprocess循环从数据库pg_stat获得SQL语句执行的效率,并用从数据库pg_stat获得的SQL语句执行的效率和从指标配置表获得的配置SQL语句执行的效率进行比较,并从指标配置表获得配置SQL语句执行其对应效率时的阈值,然后把SQL语句优化建议分别输出到优化建议表和数据库日志;
(1-5-3)输出自动被动优化;
workprocess循环从指标配置表获取自动被动优化指标,并用自动被动优化指标和所述***信息进行比较,通过SPI接口,调用SQL语句自动优化,并把自动被动优化信息分别输出到优化建议表和数据库日志;workprocess进程调用SPI函数输出自动被动优化;
(1-6)数据库关闭时,调用_PG_fini钩子程序来让workprocess进程退出。
本实例能够定时收集数据库运行状态信息,以及数据库所在虚拟机的硬件指标信息,适时的主动优化建议、被动优化建议或自动被动优化,提高数据库在云平台中运行性能稳定性。主动优化建议是自动收集数据库的运行状态信息,根据数据库的运行状况,提前输出指标的优化建议,从而达到提前处理的目的,既不浪费资源又能提高数据库在云平台中获得稳定的性能。被动优化建议,是指当数据库运行环境的硬件性能指标发生变化后,自动对数据库进行优化或输出优化建议。是不可动态更新参数,影响数据库运行的变更参数。参数优化,不可动态配置参数输出优化建议,可动态配置参数自动优化。在某些可动态调整的参数,不影响数据库提供服务的情况下可进行自动被动优化。不可动态调整的参数,或者会影响数据库提供服务的优化动作,输出优化建议。SQL优化,提供优化建议。表空间优化,输出表空间优化建议。本实例还与CPU相关,建议增加或减少CPU;本实例还与IOPS相关,建议提高或降低块设备IOPS能力;本实例还与内存相关,建议增加或减少内存;本实例还与空间相关,建议增加或减少块设备存储。
上面结合附图描述了本发明的实施方式,但实现时不受上述实施例限制,本领域普通技术人员可以在所附权利要求的范围内做出各种变化或修改。

Claims (4)

1.一种基于云平台的关系数据库自动优化方法,其特征在于,其步骤如下:
(1-1)根据数据库编码协定编辑workprocess进程所需的workprocess进程插件代码,所述workprocess进程插件代码包括:SQL插件代码、.c插件代码、.control插件代码和Makefile插件代码;其中,SQL插件代码包括workprocess进程状态表和指标配置表;.c插件代码包括workproecess C代码;.control包括控制文件;Makefile包括安装插件的配置信息;
(1-2)在数据库源代码目录的contrib目录下新建一个项目目录,将所述workprocess进程插件代码拷贝安装到项目目录内;
(1-3)在数据库中创建workprocess进程插件;
(1-4)配置数据库配置文件postgresql.conf,加载workprocess进程对应的动态链接库文件;
(1-5)数据库启动时,调用_PG_init钩子程序和调用workprocess进程入口函数来启动workprocess进程;
(1-5-1)输出主动优化建议;
用workprocess循环获取***信息,并把所述***信息存储到workprocess进程状态表;workprocess循环从指标配置表获取主动优化指标,并用主动优化指标和从workprocess进程状态表获得的***信息进行比较,并把主动优化建议的信息分别输出到优化建议表和数据库日志;
(1-5-2)输出被动优化建议;
用workprocess循环从指标配置表获取手动被动优化指标,并用手动被动优化指标和所述***信息进行比较,并把被动优化建议的信息分别输出到优化建议表和数据库日志;用workprocess循环从数据库pg_stat获得SQL语句执行的效率,并用从数据库pg_stat获得的SQL语句执行的效率和从指标配置表获得的配置SQL语句执行的效率进行比较,并从指标配置表获得配置SQL语句执行其对应效率时的阈值,然后把SQL语句优化建议分别输出到优化建议表和数据库日志;
(1-5-3)输出自动被动优化;
workprocess循环从指标配置表获取自动被动优化指标,并用自动被动优化指标和所述***信息进行比较,通过SPI接口,调用SQL语句自动优化,并把自动被动优化信息分别输出到优化建议表和数据库日志;
(1-6)数据库关闭时,调用_PG_fini钩子程序来让workprocess进程退出。
2.根据权利要求1所述的一种基于云平台的关系数据库自动优化方法,其特征在于,在启动workprocess进程时,通过postmaster进程调用fork程序。
3.根据权利要求1所述的一种基于云平台的关系数据库自动优化方法,其特征在于,所述***信息包括负载信息、块设备的IOPS信息、空间信息和内存信息。
4.根据权利要求1所述的一种基于云平台的关系数据库自动优化方法,其特征在于,所述主动优化指标包括CPU、IOPS、内存和空间。
CN201410652028.3A 2014-11-17 2014-11-17 一种基于云平台的关系数据库自动优化方法 Expired - Fee Related CN104503974B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410652028.3A CN104503974B (zh) 2014-11-17 2014-11-17 一种基于云平台的关系数据库自动优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410652028.3A CN104503974B (zh) 2014-11-17 2014-11-17 一种基于云平台的关系数据库自动优化方法

Publications (2)

Publication Number Publication Date
CN104503974A CN104503974A (zh) 2015-04-08
CN104503974B true CN104503974B (zh) 2017-07-18

Family

ID=52945372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410652028.3A Expired - Fee Related CN104503974B (zh) 2014-11-17 2014-11-17 一种基于云平台的关系数据库自动优化方法

Country Status (1)

Country Link
CN (1) CN104503974B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320569A (zh) * 2015-11-04 2016-02-10 浪潮(北京)电子信息产业有限公司 一种提升数据库服务器性能的方法及***
CN108733750A (zh) * 2018-04-04 2018-11-02 安徽水利开发股份有限公司 一种数据库优化方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101059810A (zh) * 2007-03-16 2007-10-24 华为技术有限公司 一种实现数据库***自动优化的***和方法
CN103064664A (zh) * 2012-11-28 2013-04-24 华中科技大学 一种基于性能预估的Hadoop参数自动优化方法和***
CN103905234A (zh) * 2012-12-28 2014-07-02 北京友友天宇***技术有限公司 提高分布式***中资源可用性的方法及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8447776B2 (en) * 2010-08-30 2013-05-21 International Business Machines Corporation Estimating and managing energy consumption for query processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101059810A (zh) * 2007-03-16 2007-10-24 华为技术有限公司 一种实现数据库***自动优化的***和方法
CN103064664A (zh) * 2012-11-28 2013-04-24 华中科技大学 一种基于性能预估的Hadoop参数自动优化方法和***
CN103905234A (zh) * 2012-12-28 2014-07-02 北京友友天宇***技术有限公司 提高分布式***中资源可用性的方法及***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于Oracle数据库SQL查询优化研究;张学义 等;《制造业自动化》;20110131;第33卷(第1期);第116-118、121页 *
基于Oracle数据库优化性能监控***的设计与实现;蒋林华;《井冈山大学学报》;20120331;第33卷(第2期);第68-71页 *

Also Published As

Publication number Publication date
CN104503974A (zh) 2015-04-08

Similar Documents

Publication Publication Date Title
US11714686B2 (en) Resource oversubscription based on utilization patterns in computing systems
CN108173698B (zh) 网络服务管理方法、装置、服务器及存储介质
CN109508432B (zh) 一种基于区块链的高性能faas***
CN104133727A (zh) 基于实时资源负载分配的方法
WO2020186376A1 (en) Techniques to forecast financial data using deep learning
CN114879948B (zh) 基于WebAssembly的智能合约处理方法、装置、设备及存储介质
CN110647392A (zh) 一种基于容器集群的智能弹性伸缩方法
CN108650334A (zh) 一种会话失效的设置方法及装置
CN104503974B (zh) 一种基于云平台的关系数据库自动优化方法
CN111510959A (zh) 一种部署nRT RIC功能的方法和设备
Gu et al. Energy‐Efficient Computation Offloading and Transmit Power Allocation Scheme for Mobile Edge Computing
CN109271247A (zh) 内存优化方法、装置、计算机装置以及存储介质
US11455293B2 (en) Counting method, counter and storage medium
US11232228B2 (en) Method and device for improving data storage security
CN102427468A (zh) 一种云计算操作***及其调度方法
Yang et al. Study on static task scheduling based on heterogeneous multi-core processor
US10572486B2 (en) Data communication in a distributed data grid
CN114003238B (zh) 一种基于转码卡的容器部署方法、装置、设备及存储介质
CN116521358A (zh) 一种实时***运行电力边缘计算芯片的方法及装置
CN106708542A (zh) 一种嵌入式操作***代码加载的方法及装置
CN116841720A (zh) 资源配置方法、装置、计算机设备、存储介质及程序产品
CN111400034B (zh) 一种面向多核处理器的波形资源分配方法
CN114021833A (zh) 一种线损预测方法、***、存储介质及计算设备
CN108595367B (zh) 一种基于局域网内计算机集群的服务器***
CN109656697A (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
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: 310000 room 821, building 1, Xinjun building, 330 Internet of things street, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: HANGZHOU SKY NETWORK TECHNOLOGY CO.,LTD.

Address before: 10, 310013, The Union Buildings, No. 2, Bauhinia Road, Hangzhou, Zhejiang, Xihu District

Patentee before: HANGZHOU SKY NETWORK TECHNOLOGY CO.,LTD.

CP02 Change in the address of a patent holder
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210408

Address after: 355200 no.181 erbatou, taimuyang village, Qinyu Town, Fuding City, Ningde City, Fujian Province

Patentee after: Chen Ximei

Address before: Room 821, building 1, Xinjun building, 330 Internet of things street, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province 310000

Patentee before: HANGZHOU SKY NETWORK TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210421

Address after: 101599 room 208-826, Jugezhuang town government, Miyun District, Beijing

Patentee after: Beijing Zhongjing Century Technology Co.,Ltd.

Address before: No. 181, erbatou, taimuyang village, Qinyu Town, Fuding City, Ningde City, Fujian Province

Patentee before: Chen Ximei

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170718