CN110019313B - 资源优化方法、装置、设备及介质 - Google Patents
资源优化方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN110019313B CN110019313B CN201711491113.6A CN201711491113A CN110019313B CN 110019313 B CN110019313 B CN 110019313B CN 201711491113 A CN201711491113 A CN 201711491113A CN 110019313 B CN110019313 B CN 110019313B
- Authority
- CN
- China
- Prior art keywords
- sql
- value
- reasonable
- preset
- sampling time
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种资源优化方法、装置、设备及介质。获取预定采样时间内多个采样时刻的结构化查询语言SQL运行数据;基于SQL运行数据计算每个SQL在预定采样时间内运行的IO合理开销值;以及基于IO合理开销值对业务运行期间每个SQL的IO资源进行调整。由此,可以针对每个SQL而设定合适的IO值,提高了IO资源利用率,达到资源合理分配。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及一种资源优化方法、装置、设备及介质。
背景技术
在当今大数据的技术背景下,有各种分布式的数据库或者非数据库系统,如Greenplum、oracle Exadata一体机、DB2DBF、hadoop集群等。这些分布式大数据集群都或多或少的可以在数据库层面控制系统资源的使用,如控制CPU的使用,控制SQL(结构化查询语言)的并发运行,控制内存的最大使用率等,但是针对IO(输入输出)资源做限制的技术较少见。
大数据环境下的MPP数据库最重要的性能参数就是IO,但是现有情况下,如果没有对IO的控制,可能低优先级的SQL也会占用大量的IO资源,导致高优先级的SQL无法得到最大资源的运行。
目前针对控制IO资源开销,采用的技术手段通常使用数据库配置参数,固定控制指标,减少对IO的冲击。但该方式对较大IO或者较少的SQL开销时造成相应的SQL等待和资源浪费。
综上所述,需要一种能够对SQL并行化运行中IO资源消耗进行优化的方案。
发明内容
本发明实施例提供了一种能够对SQL并行化运行中IO资源消耗进行优化的资源优化方法、装置、设备及介质。
第一方面,本发明实施例提供了一种资源优化方法,方法包括:获取预定采样时间内多个采样时刻的结构化查询语言SQL运行数据;基于所述SQL运行数据计算每个所述SQL在所述预定采样时间内运行的IO合理开销值;以及基于所述IO合理开销值对业务运行期间每个所述SQL的IO资源进行调整。
第二方面,本发明实施例提供了一种资源优化装置,装置包括:采集模块,用于获取预定采样时间内多个采样时刻的结构化查询语言SQL运行数据;计算模块,用于基于SQL运行数据计算每个SQL在预定采样时间内运行的IO合理开销值;以及调整模块,用于基于IO合理开销值对业务运行期间每个SQL的IO资源进行调整。
本发明实施例提供了一种计算设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
本发明实施例提供的资源优化方法、装置、设备及介质,通过采集运行中各个SQL对IO的开销情况,可以针对每个SQL设定合适的IO值,提高IO资源利用率,使得IO资源的分配更加合理。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本发明一实施例的资源优化方法的示意性流程图。
图2示出了本发明另一实施例的资源优化方法的示意性流程图。
图3示出了根据本发明一实施例的资源优化装置的结构的示意性框图。
图4示出了本发明实施例提供的计算设备的硬件结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
图1示出了根据本发明一实施例的资源优化方法的示意性流程图。
参见图1,在步骤S110,获取预定采样时间内多个采样时刻的SQL(结构化查询语言)运行数据。其中,每个采样时刻的SQL运行数据包括SQL数量、该采样时刻下每个SQL的IO(输入输出)开销值及其优先级。预定采样时间可以是业务整个运行期间内的一个时间段,预定采样时间的间隔以及采样点的数量可以根据实际情况设定。优选地,在业务运行期间可以周期性地采集SQL运行数据。
在步骤S120,基于SQL运行数据计算每个SQL在预定采样时间内运行的IO合理开销值。
与每个采样时刻对应的SQL运行数据包括了该时刻运行的SQL数量,每个SQL的开销值以及每个SQL的优先级,因此,可以根据这些数据分析每个SQL的合理开销值。作为示例,可以使用以下计算公式计算每个SQL的IO合理开销值sqlio,
其中,IOmax为IO最大开销值,IOmax的数值可以根据采集的不同采样点的SQL运行数据计算得到,也可以将系统最大IO作为IO最大开销值。n为采样数量,即预定采样时间内采样时刻的数量,n≥1,sqli表示第i个采样时刻下SQL的IO开销值,sqlcount为SQL数量,priority为待计算的SQL的优先级。基于上述公式计算得到的IO合理开销值sqlio是一个小数,可以视为SQL在预定采样时间内运行的IO合理值与系统IO值的比值。
由此,本发明考虑到系统整个运行状态,基于指定时间段内获取到的SQL的IO值来计算出SQL运行中合理的IO开销值sqlio。与以往只靠设置整个SQL运行中手动配置SQL的IO值相比,不能及时对不同业务时间段内的SQL消耗进行合理化控制。在业务运行期间SQL数量、SQL语句发生变化的情况下,利用本发明也可以自动计算出业务运行期间任意时刻不同SQL的具体IO配置,如此可以保证充分利用IO资源合理分配。
在步骤S130,基于IO合理开销值对每个SQL的IO资源进行调整。
计算得到的sqlio可以表征SQL在预定采样时间内的IO合理开销,因此在一定程度上也可以简单地直接根据计算得到的sqlio为SQL进行IO配置。但是这种配置方式准确性较差,因此作为本发明的一个优选实施例,针对每个SQL,可以以其IO合理开销值为调整依据,使用自适应算法对SQL的IO开销值进行调整。简要来说,可以以计算得到的SQL的IO合理开销值sqlio为最大值,在该值的基础上进行多次微调以进一步确定SQL的较佳的IO值。
需要说明的是,在对SQL的IO开销值进行调整时,本发明可以同时对多个SQL(如可以是SQL并行化运行中所有SQL)的IO值进行调整,调整的目标可以是以使调整后多个SQL的总体运行时间缩短为前提。换言之,如果调整后某一优先级较高的SQL的运行时间增加,其它SQL的运行时间减小,并且总体运行时间减小,则可以认为该次调整是成功的。
作为本发明的一个示例,可以使用如下自适应算法公式对SQL的IO开销值进行调整,
其中,sql′io为调整后的IO开销值,可以认为是系统IO(如系统磁盘IO值)。上述自适应算法公式的含义为,首先算出采集时间内SQL的值减去上述得出的合理IO值,得到该时间点最大开销的IO值,再除去系统整个磁盘IO的值,得出业务运行期间SQL的合理的IO占比。
在利用上述公式对多个SQL中每个SQL的IO资源分别进行调整后,还可以进一步判断所述多个SQL的总体运行时间是否减小,在判定总体运行时间不减小的情况下,可以认为调整失败,此时可以重新采集SQL运行数据,并基于重新采集的SQL数据重新计算IO合理开销值,基于重新计算的IO合理开销值重新使用上述公式进行调整。直至基于调整后的参数为SQL配置IO资源后,SQL并行化运行的总体运行时间能够减小。
至此结合图1就本发明的基本实现流程做了简要说明,下面就其中涉及的细节做进一步说明。
图2示出了本发明另一实施例的资源优化方法的示意流程图。
参见图2,方法开始于步骤S210,SQL并行化执行。
步骤S220,在SQL并行化运行过程中周期性采集数据。
在步骤S230,采集当前系统IO。
在步骤S240,判断当前系统IO是否小于第一预定IO阈值。其中,第一预定IO阈值可以预先设定,其可以作为SQL并行化运行中当前系统IO是否超负荷运行的比较标准。例如,第一预定IO阈值可以是主机最大IO(如磁盘IO)。
在当前系统IO大于第一预定IO阈值的情况下,可以判定系统当前处于超负荷状态,需要对其IO资源配置进行调整。在当前系统IO小于第一预定IO阈值的情况下,可以判定系统当前未处于超负荷状态,无需对其IO资源配置进行调整。
在当前系统IO大于第一预定IO阈值的情况下,可以执行步骤S250,进一步采集获取SQL的IO值。这里可以采集SQL并行化运行过程中各个SQL的IO值。
在步骤S260,判断SQL的IO值是否小于第二预定IO阈值。
与步骤S240的判断操作不同,此处可以对单个SQL的运行状态进行判断,判断单个SQL是否占用过多IO资源。其中,第二预定IO阈值可以根据实际情况设定,例如可以设定为主机最大IO。可选地,可以逐个对SQL并行化运行中所有的SQL进行判断,以选取占用资源过多的SQL,进行调整。
在步骤S270,在SQL的IO大于第二预定IO阈值的情况下,可以获取SQL的优先级、时间、SQL运行总数等SQL运行数据。
在步骤S275,获取SQL的IOmax值。SQL的IOmax值为在SQL并行化运行过程中的IO最大开销值,可以将系统总IO值作为IO最大开销值。
在步骤S280,分析计算SQL的IO值。
此处计算的IO值即为上文述及的IO合理开销值sqlio。计算方式可以参见上文相关描述。
在步骤S285,判断计算得到的IO值是否小于第三预定IO阈值。第三预定IO阈值可以根据实际情况设定,例如可以是主机最大IO值。
在判定计算得到的IO值小于第三预定IO阈值的情况下,可以认为计算得到的IO值较为合理,此后可以基于该IO值进行参数配置。
在判定计算得到的IO值大于第三预定IO阈值的情况下,可以认为计算得到的IO值不合理,返回步骤S230重新进行采集、计算步骤。
在步骤S290,在判定计算得到的IO值(即sqlio)小于第三预定IO阈值的情况下,可以为SQL进行参数配置(主要是IO配置)。
在步骤S295,基于配置好的IO参数,可以对SQL的IO进行IO控制。然后可以基于更改后的参数重新执行SQL。
需要说明的是,在基于计算得到的IO值(即sqlio)进行参数配置时,可以直接使用计算得到的IO值为相应的SQL配置IO参数,也可以以sqlio为调整依据,使用自适应算法对SQL的IO开销值进行调整。例如该自适应算法可以表示如下:
该计算公式通过特定时间段内,进行合理的需求数据采集,将整个时间段内所需要的数据统计计算,在时间段内,首先计算出整个时间段内的IO最大值设置,计算出该时间段内IO采集数据,从而得出总共业务场景中,自动累加的SQL次数之和。在新增SQL时,可以利用上述算法可以自动实现为新增的SQL配置合理的IO值,由此可以自动适应后续新增SQL所需的IO值。
由此,本发明可以计算出某一特定时间点内所有的SQL所使用到的IO值,并对该值进行动态设置和更新调整。达到最优的IO利用率。执行至此,可以计算出该次适合的IO值。实现自动控制SQL中IO资源开销利用达最优值。
在修改SQL的IO参数配置后,可以判断该次修改配置是否合理。具体地,可以将采集后的数据进行采样计算,纳入自适应算法,得到的最后的IO值,带入后并统计该次业务整个SQL运行时间及SQL对应的IO开销,从而判定该次动态修改配置是否计算成功,在判定计算不成功的情况下,将会重新采集计算得到最终的自适应数据大小。在判定计算成功后,可以基于计算的配置进行动态调整,修改IO配置值,以实现对资源的动态利用。在配置完成后,可以再次回到数据统计等待下次数据采集配置。
应用例
下面以如下例子再次对本提案提供的方案进行说明:
案例场景,3台16线程,64G内存,2T硬盘,千兆网卡机器(整体情况是48线程,64GB内存,disk IO 150MB/s,网络IO 150MB/s)。
在高并发SQL运行的环境下,执行特定SQL语句,计算该业务中持续执行的SQL量大概500个数量,该次业务运行时间16分钟,其中为1优先级100,0.1到0.9期间400,通过自适应公式计算出SQL为1优先级的IO单次设置为54%*系统IO。
数据查询过程为:通过系统命令查询得知IOmax=150;过查询数据库查询SQL数据量得知sqlcount=500;通过查询数据库计算出SQL对应优先级:priority=[1,0.9,0.8,0.7,0.2,0.1];通过查询数据库计算出每个SQL对应的SQL的IO开销为,sql1:32k,sql2:16k…sql500:8k;通过数据库SQL运行时间计算出sqltime=16*60*1000(ms)。
将上述查询数据代入自适应算法公式可以得到每个SQL的IO值与之前SQL的IO值比值为:0.54,即则sqlio=sqlio*0.54。
在IO参数配置更改前,SQL的总共运行时间为28501ms,利用本发明的算法得到的IO值进行参数配置后,发现优先级高的SQL的运行时间加长,但是优先级低的SQL比之前运行时间缩短,并且总共运行时间为17202ms,大大低于之前的运行时间28501ms。
可见,使用本发明后,在缩短了SQL的总运行时间的前提下,主机资源在开销处理期间,使用率有所下降,因此可以有效及时地减少主机资源不足的情况下的性能问题。
图3示出了根据本发明一实施例的资源优化装置的结构的示意性框图。
参见图3,资源优化装置300可以包括采集模块310和计算模块320以及调整模块330。
采集模块310用于获取预定采样时间内多个采样时刻的SQL(结构化查询语言)运行数据。
计算模块320用于基于SQL运行数据计算每个SQL在所述预定采样时间内运行的IO合理开销值。
作为示例,SQL运行数据包括SQL数量、每个SQL的IO开销值及优先级,计算模块320可以使用以下计算公式计算IO合理开销值sqlio,
其中,IOmax为IO最大开销值,n为采样数量,即预定采样时间内采样时刻的数量,n≥1,sqli表示第i个采样时刻下SQL的IO开销值,sqlcount为SQL数量,priority为待计算的SQL的优先级。计算得到的所述IO合理开销值sqlio可以视为所述SQL在所述预定采样时间内运行的IO合理值与系统IO值的比值。
调整模块330用于基于IO合理开销值对业务运行期间SQL的IO资源进行调整。
针对每个所述SQL,调整模块330可以以其IO合理开销值为调整依据,使用自适应算法对所述SQL的IO开销值进行调整。例如可以使用如下公式对述SQL的IO开销值进行调整,
其中,sql′io为调整后的IO开销值。
如图3所示,资源优化装置300还可以可选地包括图中虚线框所示的第一判断模块340。
在对一个或多个SQL的IO资源进行调整后,第一判断模块340可以判断所述一个或多个SQL的总体运行时间是否减小。在判定所述总体运行时间不减小的情况下,采集模块310可以重新采集SQL运行数据,计算模块320可以使用重新采集的SQL运行数据重新计算IO合理开销值,调整模块330可以基于重新计算的IO合理开销值,再次使用自适应算法对SQL的IO开销值进行调整。
如图3所示,优化装置300还可以可选地包括图中虚线框所示的第二判断模块350。
在计算模块320计算IO合理开销值之前,第二判断模块350可以判断当前占用系统IO是否超过第一预定IO阈值,在判定所述当前占用系统IO超过所述第一预定IO阈值的情况下,可以通过计算模块320计算IO合理开销值、通过调整模块330实现对SQL的IO资源的调整。
如图3所示,优化装置300还可以可选地包括图中虚线框所示的第三判断模块360。
在计算模块320计算IO合理开销值之前,第三判断模块360可以在第二判断模块350判定当前占用系统IO超过第一预定IO阈值的情况下,进一步判断SQL的IO开销值是否超过第二预定IO阈值。可以在判定所述SQL的IO开销值超过第二预定IO阈值的情况下,才通过计算模块320、调整模块330实现对SQL的IO资源的调整。
如图3所示,优化装置300还可以可选地包括图中虚线框所示的第四判断模块370。
第四判断模块370可以用于判断计算得到的SQL的IO合理开销值是否超过第三预定IO阈值,在判定所述IO合理开销值超过第三预定IO阈值的情况下,采集模块310可以重新采集SQL并行化运行过程中的SQL运行数据,计算模块320可以基于重新采集的SQL运行数据重新计算所述IO合理值。
综上,本发明可以自适应需要采集运行中SQL对IO的开销,计算出针对的SQL从而设定SQL的IO值。提高了IO资源利用率,达到资源合理分配。并且本发明可以以单个SQL为粒子来调整SQL并行化运行中所有SQL的IO消耗,从而在节省资源的同时,可以增加并行化运行的SQL的数量,从而可以使得数据库性能得到最大程度的使用。由此,可以解决大数据环境下的GP数据库在IO控制方面的不足。
本发明的上述优化方案尤其适用于greenplum数据库IO资源的优化。具体可以结合Greenplum自身特性(可以手动控制SQL运行IO)和linux IO控制方式,利用本发明的上述算法达到控制IO的效果。由此,利用本发明可以有效的控制Greenplum数据库单个sql的IO,同时通过自适应算法,在保证数据库最大性能的同时,可以最大程度地利用磁盘IO。
另外,结合图1、图2描述的本发明实施例的资源优化方法可以由计算设备来实现。图4示出了本发明实施例提供的计算设备的硬件结构示意图。
计算设备可以包括处理器401以及存储有计算机程序指令的存储器402。
具体地,上述处理器401可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在数据处理装置的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。在特定实施例中,存储器402包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现上述实施例中的任意一种IO资源的优化方法。
在一个示例中,计算设备还可包括通信接口403和总线410。其中,如图4所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。
通信接口403,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线410包括硬件、软件或两者,将计算设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
另外,结合上述实施例中的资源优化方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种资源优化方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种资源优化方法,其特征在于,所述方法包括:
获取预定采样时间内多个采样时刻的结构化查询语言SQL运行数据;
基于所述SQL运行数据计算每个SQL在所述预定采样时间内运行的IO合理开销值;以及
基于所述IO合理开销值对运行期间所述每个SQL的IO资源进行调整;
其中,所述SQL运行数据包括SQL数量、每个SQL的IO开销值及优先级;
所述基于所述SQL运行数据计算每个SQL在所述预定采样时间内运行的IO合理开销值,包括:使用以下计算公式计算每个所述SQL的IO合理开销值sqlio,
其中,IOmax为IO最大开销值,n为所述预定采样时间内采样时刻的数量,n≥1,sqli表示第i个采样时刻下SQL的IO开销值,sqlcount为SQL数量,priority为待计算的SQL的优先级。
3.根据权利要求2所述的资源优化方法,其特征在于,所述方法还包括:
在对每个所述SQL的IO资源进行调整后,判断多个所述SQL的总体运行时间是否减小;
在判定所述总体运行时间不减小的情况下,重新采集所述SQL运行数据。
4.根据权利要求1所述的资源优化方法,其特征在于,所述SQL运行数据还包括当前占用系统IO,在计算所述IO合理开销值之前,所述方法还包括:
判断所述当前占用系统IO是否超过第一预定IO阈值;
在判定所述当前占用系统IO超过所述第一预定IO阈值的情况下,执行所述计算所述IO合理开销值的步骤。
5.根据权利要求4所述的资源优化方法,其特征在于,在计算所述IO合理开销值之前,所述方法还包括:
在判定所述当前占用系统IO超过所述第一预定IO阈值的情况下,进一步判断所述SQL的IO开销值是否超过第二预定IO阈值;
在判定所述SQL的IO开销值超过第二预定IO阈值的情况下,才执行所述计算所述IO合理开销值的步骤。
6.根据权利要求1所述的资源优化方法,其特征在于,所述方法还包括:
判断计算得到的SQL的IO合理开销值是否超过第三预定IO阈值;
在判定所述IO合理开销值超过第三预定IO阈值的情况下,重新采集所述SQL运行数据,并基于重新采集的SQL运行数据重新计算所述IO合理开销值。
7.一种资源优化装置,其特征在于,所述装置包括:
采集模块,用于获取预定采样时间内多个采样时刻的结构化查询语言SQL运行数据;
计算模块,用于基于所述SQL运行数据计算每个所述SQL在所述预定采样时间内运行的IO合理开销值;
调整模块,用于基于所述IO合理开销值对业务运行期间每个所述SQL的IO资源进行调整;
其中,所述SQL运行数据包括SQL数量、每个SQL的IO开销值及优先级;
所述计算模块,具体用于使用以下计算公式计算每个所述SQL的IO合理开销值sqlio,
其中,IOmax为IO最大开销值,n为所述预定采样时间内采样时刻的数量,n≥1,sqli表示第i个采样时刻下SQL的IO开销值,sqlcount为SQL数量,priority为待计算的SQL的优先级。
8.一种计算设备,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711491113.6A CN110019313B (zh) | 2017-12-30 | 2017-12-30 | 资源优化方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711491113.6A CN110019313B (zh) | 2017-12-30 | 2017-12-30 | 资源优化方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110019313A CN110019313A (zh) | 2019-07-16 |
CN110019313B true CN110019313B (zh) | 2021-09-28 |
Family
ID=67187239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711491113.6A Active CN110019313B (zh) | 2017-12-30 | 2017-12-30 | 资源优化方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110019313B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590647B (zh) * | 2021-07-29 | 2024-02-23 | 中国联合网络通信集团有限公司 | Sql语句优化方法、装置、设备、存储介质及产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541884A (zh) * | 2010-12-10 | 2012-07-04 | 中国移动通信集团贵州有限公司 | 数据库优化方法和装置 |
CN103677999A (zh) * | 2012-09-14 | 2014-03-26 | 国际商业机器公司 | 计算环境内的资源的管理 |
CN106611044A (zh) * | 2016-12-02 | 2017-05-03 | 星环信息科技(上海)有限公司 | 一种sql优化方法及设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064441A1 (en) * | 2002-09-27 | 2004-04-01 | Tow Daniel S. | Systems and methods for providing structured query language optimization |
CN100428209C (zh) * | 2006-12-22 | 2008-10-22 | 清华大学 | 一种自适应的外部存储设备io性能优化方法 |
CN101763389B (zh) * | 2008-12-23 | 2012-02-08 | 中兴通讯股份有限公司 | 一种数据库资源的调控装置及方法 |
US8452819B1 (en) * | 2011-03-22 | 2013-05-28 | Amazon Technologies, Inc. | Methods and apparatus for optimizing resource utilization in distributed storage systems |
CN103780646B (zh) * | 2012-10-22 | 2017-04-12 | 中国长城计算机深圳股份有限公司 | 一种云资源的调度方法及系统 |
CN104820630B (zh) * | 2015-05-22 | 2017-07-07 | 上海新炬网络信息技术有限公司 | 基于业务变化量的系统资源监控装置 |
CN106293941B (zh) * | 2016-08-09 | 2019-12-31 | 上海新炬网络信息技术股份有限公司 | 一种数据库系统资源的分配方法 |
-
2017
- 2017-12-30 CN CN201711491113.6A patent/CN110019313B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541884A (zh) * | 2010-12-10 | 2012-07-04 | 中国移动通信集团贵州有限公司 | 数据库优化方法和装置 |
CN103677999A (zh) * | 2012-09-14 | 2014-03-26 | 国际商业机器公司 | 计算环境内的资源的管理 |
CN106611044A (zh) * | 2016-12-02 | 2017-05-03 | 星环信息科技(上海)有限公司 | 一种sql优化方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110019313A (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11108247B2 (en) | Method, apparatus, device and medium for equalization control of battery packs | |
CN109992403B (zh) | 多租户资源调度的优化方法、装置、终端设备及存储介质 | |
CN109981744B (zh) | 数据的分发方法、装置、存储介质及电子设备 | |
CN113033800A (zh) | 分布式深度学习方法、装置、参数服务器及主工作节点 | |
CN111324533A (zh) | A/b测试方法、装置及电子设备 | |
CN110019313B (zh) | 资源优化方法、装置、设备及介质 | |
CN111339211A (zh) | 网络问题分析的方法、装置、设备及介质 | |
WO2016197621A1 (zh) | 一种调整服务器的频率的方法及装置 | |
CN111914000A (zh) | 一种基于功耗预测模型的服务器功率封顶方法、系统 | |
CN111158454A (zh) | 一种实时嵌入式操作系统低功耗方法及装置 | |
CN114816700A (zh) | 数据采集方法、装置、设备及存储介质 | |
CN110580192B (zh) | 一种基于服务特征的混部场景中容器i/o隔离性优化方法 | |
CN111490889B (zh) | 一种无线业务增长预估方法及装置 | |
CN113297152A (zh) | 一种电力物联网边缘服务器缓存更新的方法及装置 | |
CN110795251A (zh) | 终端运行参数的确定方法和设备 | |
CN116841717B (zh) | 一种根据任务紧急程度实时生成排序的方法及系统 | |
CN116389181B (zh) | 一种全屋智能设备的连接管理方法及系统 | |
CN114443283B (zh) | 一种应用实例的伸缩方法和装置 | |
CN111309754B (zh) | 服务数据接入方法、装置、存储介质和电子设备 | |
CN111586737B (zh) | 一种基站扩容的数据分析方法和装置 | |
CN116414897A (zh) | 数据库管理方法、装置、设备、介质及程序产品 | |
CN117635331A (zh) | 一种交易处理方法、装置、设备及介质 | |
CN118152134A (zh) | 资源调整方法、装置、设备、介质及程序产品 | |
CN117435794A (zh) | 一种调度策略的调整方法、系统、电子设备及存储介质 | |
CN116108945A (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 |