CN112527620A - 数据库性能分析方法及装置、电子设备、介质、产品 - Google Patents
数据库性能分析方法及装置、电子设备、介质、产品 Download PDFInfo
- Publication number
- CN112527620A CN112527620A CN202011547425.6A CN202011547425A CN112527620A CN 112527620 A CN112527620 A CN 112527620A CN 202011547425 A CN202011547425 A CN 202011547425A CN 112527620 A CN112527620 A CN 112527620A
- Authority
- CN
- China
- Prior art keywords
- information
- sql
- application program
- database
- calling
- 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
- 238000004458 analytical method Methods 0.000 title claims abstract description 140
- 238000012545 processing Methods 0.000 claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 40
- 239000000523 sample Substances 0.000 claims abstract description 9
- 238000004220 aggregation Methods 0.000 claims description 32
- 230000002776 aggregation Effects 0.000 claims description 32
- 238000003860 storage Methods 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 20
- 230000002159 abnormal effect Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 10
- 238000009826 distribution Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 8
- 238000007405 data analysis Methods 0.000 claims description 6
- 239000000126 substance Substances 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 abstract description 49
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000012423 maintenance Methods 0.000 description 5
- 238000000638 solvent extraction Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 101150053844 APP1 gene Proteins 0.000 description 1
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 1
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 1
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3452—Performance evaluation by statistical analysis
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Biology (AREA)
- Quality & Reliability (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种数据库性能分析方法,涉及数据处理技术领域,具体涉及数据库技术领域,可应用于云平台或云产品,具体实现方案为:响应于拦截到应用程序实例对数据库的调用操作,获取相应的应用程序信息和调用操作的调用信息;将应用程序信息和调用信息上传给数据仓库,以便数据库性能分析装置根据数据仓库中存储的调用信息和应用程序信息分析数据库的执行性能。本申请基于探针技术,在应用层面自动拦截应用程序实例对数据库的调用操作,能够在应用层对数据库进行监控分析。本申请还提供了一种数据库性能数据处理装置、数据库性能分析装置、电子设备、计算机可读介质。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及数据库技术领域,尤其涉及一种数据库性能分析方法及装置、电子设备、计算机可读介质。
背景技术
SQL(Structured Query Language,结构化查询语言)是计算机系统进行数据检索的重要工具,业务系统性能的瓶颈往往在SQL的执行性能上,所以对SQL语句的监控,是大型系统性能监控的重点。以前获取SQL性能信息,往往需要与DBA(Database Administrator,数据库管理员)进行合作,花费大量沟通成本,且获取到的信息面向数据库实例,与微服务应用有着一定的距离,增加了调试排查的复杂度。
传统的SQL监控目前普遍采用如下方案来解决:
1、使用数据库端提供的监控工具,例如MySQL(关系型数据库管理系统)的performance_schema、慢SQL日志等。
数据库端监控SQL是传统的数据库监控方式,主要面向具体的某一台数据库实例,此方式具有如下局限性:需要专业的DBA或掌握DBA知识的人员实现,专业性较强;不同的应用可能采用不同的DBMS(DatabaseManagement System,数据库管理系统)产品,需要不同的DBA人员,团队或组织来实施监控,具有异构性;微服务架构背后的组织架构更加复杂,由DBA定位问题到各个应用之间协调解决,可能涉及多个团队、部门或组织,存在跨部门沟通的问题;只能监控到单数据库库实例上的SQL执行情况,对于调用链路上下游的SQL执行情况难以得知,而且对于数据量较大而应用了分库、分表等优化策略的应用,难以进行问题定位;由于数据库系统相对独立,难以与其它微服务监控系统(例如链路监控系统等)进行整合,只能孤立进行SQL监控;慢查询日志等对数据库性能有较大影响,而存储层性能扩容成本较高,故应用程序往往选择关闭数据库层面的一部分监控来换取性能,导致应用程序性能影响较大。
2、在业务的应用程序中插入代码对SQL进行监控。通常在查询开始前记录时间,在查询完成后再计算时间差,将本次耗时记录在日志或专用数据库表中。
在业务的应用程序中插入代码的SQL监控方案一般适用于少数重量级查询任务、离线分析等,存在如下局限性:需要业务开发人员编写监控逻辑代码,增加开发和测试成本,代码侵入性大;只能对少数关键查询进行监控,监控范围有限,难以实现全面监控;可能由于开发人员编写监控逻辑代码而引入新的漏洞,风险大。
3、借助APM(Application Performance Management,应用性能管理)工具推测SQL的执行情况。常用的APM工具可以对指定方法进行拦截,通过拦截SQL执行相关的方法,粗粒度推测SQL的执行情况。
APM方案更多是面向链路分析中的额外补充,具有如下局限性:往往只能看到应用接口的总体性能,获取的SQL相关信息很少;APM系统通常采用采样等方式来控制数据量,而不是全量的SQL执行数据,参考意义有限,准确度较差;APM系统本身消耗大量的存储和计算资源,通常作为全面的监控平台,不适合单独用作SQL的监控和分析,维护成本高。
发明内容
提供了一种数据库性能分析方法及装置、电子设备、计算机可读介质。
根据第一方面,提供了一种数据库性能分析方法,包括:
响应于拦截到应用程序实例对数据库的调用操作,获取相应的应用程序信息和所述调用操作的调用信息;
将所述应用程序信息和所述调用信息上传给数据仓库,以便数据库性能分析装置根据所述数据仓库中存储的调用信息和应用程序信息分析所述数据库的执行性能。
根据第二方面,提供了一种数据库性能分析方法,包括:
响应于接收到数据库性能分析请求,根据所述数据库性能分析请求查询数据仓库,并根据查询到的数据分析生成数据库的执行性能分析结果;
所述数据仓库中至少存储有应用程序信息和应用程序实例对数据库调用操作的调用信息,所述调用信息和所述应用程序信息由数据库性能数据处理装置在拦截到应用程序实例对数据库的调用操作后获取得到,并上传给所述数据仓库。
根据第三方面,提供了一种数据库性能数据处理装置,包括:探针模块和处理模块,所述探针模块用于,响应于拦截到应用程序实例对数据库的调用操作,获取相应的应用程序信息和所述调用操作的调用信息;
所述处理模块用于,将所述应用程序信息和所述调用信息上传给所述数据仓库,以便数据库性能分析装置根据所述数据仓库中存储的调用信息和应用程序信息分析所述数据库的执行性能。
根据第四方面,提供了一种数据库性能分析装置,包括:接收模块和分析模块,所述接收模块用于,接收数据库性能分析请求;
所述分析模块用于,查询数据仓库,生成数据库的执行性能分析结果;所述数据仓库中至少存储有应用程序信息和应用程序实例对数据库调用操作的调用信息,所述调用信息和所述应用程序信息由数据库性能数据处理装置在拦截到应用程序实例对数据库的调用操作后获取得到,并上传给所述数据仓库。
根据第五方面,提供了一种电子设备,其包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行数据库性能分析方法中任一项所述的方法。
根据第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述任意一种数据库性能分析方法。
根据第七方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述数据库性能分析方法中任一项所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请实施例的系统架构示意图;
图2是本申请实施例提供的一种数据库性能分析方法的流程图;
图3是本申请实施例提供的另一种数据库性能分析方法的流程图;
图4是本申请实施例提供的一种数据库性能数据处理装置的组成框图;
图5是本申请实施例提供的另一种数据库性能数据处理装置的组成框图;
图6是本申请实施例提供的一种数据库性能分析装置的组成框图;
图7是用来实现本申请实施例数据库性能分析的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在不冲突的情况下,本申请各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本申请。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。
第一方面,本申请实施例提供一种数据库性能分析方法,所述方法应用于图1所示的系统中。图1是本申请实施例的系统架构示意图,如图1所示,所述系统包括:多个数据库性能数据处理装置、数据仓库和数据库性能分析装置。每个数据库性能数据处理装置上可以部署至少一个业务应用的一个应用程序实例,一个业务应用可以包括多个应用程序实例,各个应用程序实例分别部署在不同的数据库性能数据处理装置上,各个数据库性能数据处理装置用于获取本地应用程序实例对数据库的调用操作的调用信息,以及对调用信息进行聚合,并分别向数据仓库上传调用信息(包括聚合信息)和应用程序信息;数据仓库用于对各个数据库性能数据处理装置上传的数据进行存储;数据库性能分析装置能够基于数据库性能分析请求,调用数据仓库中存储的数据进行查询,分析得到数据库的执行性能分析结果。
图2为本申请实施例的数据库性能分析方法的流程图,参照图2,所述数据库性能分析方法包括以下步骤:
步骤11,响应于拦截到应用程序实例对数据库的调用操作,获取相应的应用程序信息和调用操作的调用信息。
在本步骤中,应用程序实例中植入有探针程序,数据库性能数据处理装置利用探针程序对业务代码中的SQL调用函数进行拦截和分析,在应用程序实例执行SQL语句时,探针程序自动执行SQL拦截代码,从而开始监控数据库性能。探针程序可以实现SQL调用拦截,即拦截应用程序实例对SQL的执行操作(即调用操作),还可以实现SQL内容分析,即根据拦截到的SQL执行操作获取SQL的具体信息(即调用信息)。
在一些实施例中,探针程序拦截应用程序实例对数据库的调用操作,其拦截方式包括但不限于:字节码增强、手动埋点、事件回调,也可以使用其它具有监控功能的类库、服务等方式实现调用操作的拦截。
需要说明的是,探针程序通过调用函数调用SQL函数实现对数据库的调用操作,一方面,探针程序通过拦截该调用操作获取调用操作的调用信息,以进行SQL数据监控,另一方面,探针程序也会将调用信息返回给应用程序实例的调用函数,这样,应用程序实例对探针程序拦截调用操作的行为无感知,不影响业务的运行。
在本申请实施例中,应用程序信息包括应用程序实例信息和应用程序实例所属应用的信息,可以通过应用程序实例元数据获取。应用程序实例信息可以是应用程序实例所部署的设备的地址信息,应用程序实例所属应用的信息可以是应用程序实例所属应用的标识。
步骤12,将应用程序信息和调用信息上传给数据仓库,以便数据库性能分析装置根据数据仓库中存储的调用信息和应用程序信息分析数据库的执行性能。
在本步骤中,数据库性能数据处理装置将应用程序信息和调用信息上传给数据仓库进行存储,这样,数据库性能分析装置可以基于数据库性能分析请求从数据仓库中查询相应的数据以生成数据库的执行性能分析结果。
在本申请实施例中,响应于拦截到应用程序实例对数据库的调用操作,获取相应的应用程序信息和调用操作的调用信息;将应用程序信息和调用信息上传给数据仓库,以便数据库性能分析装置根据数据仓库中存储的调用信息和应用程序信息分析数据库的执行性能。本申请基于探针技术,在应用层面自动拦截应用程序实例对数据库的调用操作,无需DBA参与,避免跨部门沟通,易于实现、降低维护成本,适用于各类关系型数据库,无需业务开发人员编写监控逻辑代码,代码侵入性低、风险小,对数据库进行性能监控分析可以对业务透明,对应用程序实例自身性能影响低;本申请在应用层对数据库进行监控分析,易于整合其它微服务监控系统,降低集群化分库、分表带来的数据库监控复杂性,不限于特定接口或模块的监控分析,监控范围更大。
在一些实施例中,调用信息的内容如表1所示。
表1
如表1所示,调用信息包括第一调用信息和第二调用信息。第一调用信息可以包括SQL异常信息(exception)和SQL执行耗时(cost),第二调用信息可以包括SQL文本信息(sql_text)、SQL参数信息(sql_params)和数据库信息(sql_current_db)。需要说明的是,数据库信息可以包括SQL查询的数据库信息,还可以包括SQL查询的表信息。
在一些实施例中,所述将所述应用程序信息和所述调用信息上传给数据仓库(即步骤12),包括:响应于所述第一调用信息不满足预设条件,将所述应用程序信息和所述调用信息上传给数据仓库。在第一调用信息不满足预设条件的情况下,数据库性能数据处理装置上传给数据仓库的数据如表2所示。
表2
在一些实施例中,所述第一调用信息不满足预设条件,包括:SQL异常信息不为空和/或SQL执行耗时大于预设第一阈值。也就是说,在数据库性能数据处理装置在判断出调用信息为异常SQL,或者,为慢SQL,或者,为异常SQL且为慢SQL的情况下,不对调用信息进行聚合处理,而是直接将应用程序信息和调用信息上传给数据仓库,即保持完整信息直接上传到数据仓库。这样,可以在数据仓库中保留SQL的异常信息(慢SQL也属于SQL异常信息的一种),在后续根据数据仓库进行数据库的执行性能分析时,可以精准定位SQL异常、不稳定等场景,提高数据库性能分析的故障定位准确性。在本申请实施例中,慢SQL是指超过指定时间的SQL语句,也可称为“慢查询”。
在一些实施例中,所述将所述应用程序信息和所述调用信息上传给数据仓库(即步骤12),还包括以下步骤:响应于第一调用信息满足预设条件,根据调用信息生成聚合信息,并将应用程序信息和聚合信息上传给数据仓库。在本申请实施例中,聚合信息可以包括:聚合后的SQL文本信息、聚合后的SQL执行耗时、聚合后的数据库信息和SQL执行次数。
在本步骤中,数据库性能数据处理装置对第一调用信息进行判断,在第一调用信息满足预设条件的情况下,利用多维聚合器在本地对调用信息进行聚合处理得到聚合信息。通过对调用信息进行聚合操作,可以对数据进行大幅压缩,实现百亿级别下的大规模SQL监控,同时不丢失关键细节;而且,聚合操作可以实现全量数据的分析,规避了传统APM常用的采样分析策略带来的数据不准确问题。
在第一调用信息满足预设条件的情况下,数据库性能数据处理装置上传给数据仓库的数据如表3所示。
表3
需要说明的是,由于每次调用操作的SQL异常信息和SQL参数信息均不相同,因此,在对调用信息进行聚合处理的情况下,数据库性能数据处理装置不再向数据仓库上传SQL异常信息和SQL参数信息。
在一些实施例中,所述第一调用信息满足预设条件,包括:SQL异常信息为空且SQL执行耗时小于或等于预设第一阈值。也就是说,在数据库性能数据处理装置在判断出调用信息正常(即既不是异常SQL也不是慢SQL)的情况下,为了减小数据仓库的存储空间占用,在本地对调用信息进行聚合处理。
在一些实施例中,所述根据调用信息生成聚合信息,包括:根据当前获取到的SQL文本信息和本地存储的SQL文本信息确定SQL执行次数。在本步骤中,数据库性能数据处理装置遍历本地存储的SQL文本信息,若匹配到当前获取到的SQL文本信息,说明该SQL文本信息已存在,相应的,将SQL执行次数加1,并确定SQL执行耗时,即在当前的SQL执行耗时的基础上加上本次SQL执行耗时。
在一些实施例中,数据库性能数据处理装置周期性向数据仓库上报数据。相应的,所述将应用程序信息和调用信息上传给数据仓库,包括:按照预设周期将应用程序信息和所述调用信息上传给所述数据仓库。或者,所述将应用程序信息和聚合信息上传给数据仓库,包括:按照预设周期,将应用程序信息和聚合信息上传给数据仓库。需要说明的是,一个周期内会多次获取应用程序信息和所述调用操作的调用信息,获取到的这些信息会暂时保存在数据库性能数据处理装置本地,以便对调用信息进行聚合操作(每次获取到调用信息后就进行能否聚合的判断,针对能够聚合的数据,立即进行聚合操作),等到向数据仓库上传数据的周期到达时再上传。在一些实施例中,所述周期可以设置为1分钟。
需要说明的是,为了防止数据库性能数据处理装置内存溢出,还可以预先设置聚合器的聚合项上限,例如为10000项,针对当前周期内获取到的超过聚合项上限的调用信息,直接删除,不再在本地存储,相应也不会上报给数据仓库。聚合项上限可以根据实际需要进行配置调整。
在实际应用中,针对约20000个应用程序实例组成的2000个微服务应用,按照上述聚合方式,各应用程序实例每1分钟上传一次聚合信息到数据仓库,实测对于每1亿次SQL调用,实际占用数据仓库约0.3GB左右的存储空间(不包括各类索引)。
在一些实施例中,所述数据库性能分析方法还包括以下步骤:按照预设周期,在本地删除当前周期存储的应用程序信息和调用信息。也就是说,在一个周期结束时,数据库性能数据处理装置在本地清除当前周期所存储的全部应用程序信息、未聚合的调用信息(包括第一调用信息和第二调用信息)和聚合信息(即聚合后的第二调用信息),以便在下一周期内对下一周期的调用信息进行聚合操作。
由此可以看出,数据仓库内的数据是以周期为单位进行存储的,该周期即为数据库性能数据处理装置上报数据的周期,相应的,数据仓库也记录该周期(即存储时间)。数据仓库存储各个数据库性能数据处理装置上报的应用程序信息和调用信息(包括聚合后的和未聚合的),数据仓库表的结构tb_sql如表4所示。
表4
值 | 含义 | 举例 |
sql_text | SQL文本 | SELECT*FROM dual |
sql_params | SQL参数 | ‘hello’,123,‘world’ |
table | SQL查询的表 | fc_word |
database | SQL数据库 | fengchao |
exception | SQL异常 | java.sql.SqlException... |
cost | SQL耗时 | 180(ms) |
count | SQL执行次数 | 10 |
app | 所属应用 | app1 |
instance | 应用程序实例 | 10.20.30.40 |
log_date | 记录时间 | 2020-10-16 10:05:38 |
图3为本申请实施例提供的另一种数据库性能分析方法的流程图。根据本申请的实施例,本申请还提供了一种数据库性能分析方法,如图3所示,所述数据库性能分析方法包括以下步骤:
步骤21,接收数据库性能分析请求。
在本步骤中,数据库性能分析装置接收用户终端发送的数据库性能分析请求。
步骤22,根据数据库性能分析请求查询数据仓库,并根据查询到的数据分析生成数据库的执行性能分析结果。
数据仓库中至少存储有应用程序信息和应用程序实例对数据库调用操作的调用信息,调用信息和应用程序信息由数据库性能数据处理装置在拦截到应用程序实例对数据库的调用操作后获取得到,并上传给数据仓库。
在本步骤中,数据库性能分析装置根据数据库性能分析请求,向数据仓库发起数据查询请求,数据仓库向数据库性能分析装置返回相应的查询结果,数据库性能分析装置利用分析算法对查询结果进行分析,生成数据库的执行性能分析结果,并将数据库的执行性能分析结果返回给用户终端,其中,数据库的执行性能分析结果可以通过分析报告的形式返回给用户终端。
本申请提供的数据库性能分析方法,响应于接收到数据库性能分析请求,根据数据库性能分析请求查询数据仓库,并根据查询到的数据分析生成数据库的执行性能分析结果;由于数据仓库中至少存储有应用程序信息和应用程序实例对数据库调用操作的调用信息,调用信息和应用程序信息由数据库性能数据处理装置在拦截到应用程序实例对数据库的调用操作后获取得到,并上传给数据仓库,因此,通过调用数据仓库中存储的数据进行数据库执行性能分析,易于实现,适用于各类关系型数据库;本申请在应用层对数据库进行监控分析,易于整合其它微服务监控系统,降低集群化分库、分表带来的数据库监控复杂性,不限于特定接口或模块的监控分析,监控范围更大。
在一些实施例中,调用信息包括第一调用信息和第二调用信息,第一调用信息包括SQL异常信息和SQL执行耗时,第二调用信息包括SQL文本信息、SQL参数信息和数据库信息。
在一些实施例中,调用信息还包括聚合信息,聚合信息包括:聚合后的SQL文本信息、聚合后的SQL执行耗时、聚合后的数据库信息和SQL执行次数。
在一些实施例中,所述根据数据库性能分析请求查询数据仓库,并根据查询到的数据分析生成数据库的执行性能分析结果(即步骤22),包括以下之一或任意组合:
响应于接收到应用程序执行的SQL语句分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息和应用程序信息,得到所述应用程序执行的SQL语句;
响应于接收到应用程序执行的热点SQL语句分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息、应用程序信息和SQL执行次数,得到所述应用程序执行的热点SQL语句,其中,所述热点SQL语句为针对同一SQL文本的执行次数超过预设第二阈值的SQL语句;
响应于接收到应用程序执行的慢SQL语句分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息、应用程序信息和聚合后的SQL执行耗时,得到所述应用程序执行的慢SQL语句;
响应于接收到应用程序的数据库分布分析请求,根据数据仓库中存储的数据库信息、聚合后的数据库信息和应用程序信息,生成所述应用程序的数据库分布信息和/或表分布信息;
响应于接收到应用程序的SQL语句执行次数分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息、应用程序信息、存储时间和SQL执行次数,生成所述应用程序的SQL语句执行次数曲线;
响应于接收到应用程序的SQL语句执行错误分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息、应用程序信息、存储时间和SQL异常信息,生成所述应用程序的SQL语句执行错误曲线;
响应于接收到应用程序执行SQL语句的分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息、应用程序信息、存储时间和聚合后的SQL执行耗时,生成所述应用程序执行所述SQL语句的平响曲线;平响曲线是在预设的时间段内,某一应用程序对某一SQL语句的执行次数的曲线,例如,在24小时之内,APP1每小时执行SQL语句A的执行次数的曲线。
响应于接收到应用程序的慢SQL语句参数分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息、SQL参数和应用程序信息,得到所述应用程序执行所述慢SQL语句的SQL参数;
其中,存储时间是数据仓库存储数据库性能数据处理装置所上报数据的时间。
需要说明的是,数据库性能分析装置能够根据数据仓库实现包括但不限于上述的数据库执行性能分析功能。在实践中,通过适当的索引优化,数据仓库对上述各项查询都可以在秒级时间内返回查询结果,因此可以通过线查询方式,利用控制台为用户提供交互性的实时SQL执行性能分析。
根据本申请的实施例,本申请还提供了一种数据库性能数据处理装置,图4是本申请实施例提供的一种数据库性能数据处理装置的组成框图,如图4所示,所述数据库性能数据处理装置包括:探针模块101和处理模块102,探针模块101用于,响应于拦截到应用程序实例对数据库的调用操作,获取相应的应用程序信息和所述调用操作的调用信息。
处理模块102用于,将所述应用程序信息和所述调用信息上传给所述数据仓库,以便数据库性能分析装置根据所述数据仓库中存储的调用信息和应用程序信息分析所述数据库的执行性能。
在一些实施例中,所述调用信息包括第一调用信息和第二调用信息,所述第一调用信息包括结构化查询语言SQL异常信息和SQL执行耗时,所述第二调用信息包括SQL文本信息、SQL参数信息和数据库信息。
在一些实施例中,处理模块102用于,响应于所述第一调用信息不满足预设条件,将所述应用程序信息和所述调用信息上传给数据仓库。
在一些实施例中,所述第一调用信息不满足预设条件,包括:所述SQL异常信息不为空和/或所述SQL执行耗时大于预设第一阈值。
在一些实施例中,处理模块102用于,响应于所述第一调用信息满足预设条件,根据所述调用信息生成聚合信息,将所述应用程序信息和所述聚合信息上传给数据仓库;所述聚合信息包括:聚合后的SQL文本信息、聚合后的SQL执行耗时、聚合后的数据库信息和SQL执行次数。
在一些实施例中,所述第一调用信息满足预设条件,包括:所述SQL异常信息为空且所述SQL执行耗时小于或等于预设第一阈值。
在一些实施例中,处理模块102用于,根据当前获取到的SQL文本信息和本地存储的SQL文本信息确定所述SQL执行次数。
在一些实施例中,处理模块102用于,按照预设周期将所述应用程序信息和所述调用信息上传给所述数据仓库;或者,按照预设周期,将所述应用程序信息和所述聚合信息上传给数据仓库。
图5为本申请施例提供的又一种数据库性能数据处理装置的组成框图。在一些实施例中,如图5所示,所述数据库性能数据处理装置还包括清除模块103,清除模块103用于,按照预设周期,在本地删除当前所述周期存储的应用程序信息和调用信息。
根据本申请的实施例,本申请还提供了一种数据库性能分析装置,图6是本申请实施例提供的一种数据库性能分析装置的组成框图,如图6所示,所述数据库性能分析装置包括接收模块201和分析模块202,接收模块201用于,接收数据库性能分析请求。
分析模块202用于,查询数据仓库,生成数据库的执行性能分析结果;所述数据仓库中至少存储有应用程序信息和应用程序实例对数据库调用操作的调用信息,所述调用信息和所述应用程序信息由数据库性能数据处理装置在拦截到应用程序实例对数据库的调用操作后获取得到,并上传给所述数据仓库。
在一些实施例中,所述调用信息包括第一调用信息和第二调用信息,所述第一调用信息包括结构化查询语言SQL异常信息和SQL执行耗时,所述第二调用信息包括SQL文本信息、SQL参数信息和数据库信息。
在一些实施例中,所述调用信息还包括聚合信息,聚合信息包括:聚合后的SQL文本信息、聚合后的SQL执行耗时、聚合后的数据库信息和SQL执行次数。
在一些实施例中,分析模块202用于以下之一或任意组合:
响应于接收到应用程序执行的SQL语句分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息和应用程序信息,得到所述应用程序执行的SQL语句;
响应于接收到应用程序执行的热点SQL语句分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息、应用程序信息和SQL执行次数,得到所述应用程序执行的热点SQL语句,其中,所述热点SQL语句为针对同一SQL文本的执行次数超过预设第二阈值的SQL语句;
响应于接收到应用程序执行的慢SQL语句分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息、应用程序信息和聚合后的SQL执行耗时,得到所述应用程序执行的慢SQL语句;
响应于接收到应用程序的数据库分布分析请求,根据数据仓库中存储的数据库信息、聚合后的数据库信息和应用程序信息,生成所述应用程序的数据库分布信息和/或表分布信息;
响应于接收到应用程序的SQL语句执行次数分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息、应用程序信息、存储时间和SQL执行次数,生成所述应用程序的SQL语句执行次数曲线;
响应于接收到应用程序的SQL语句执行错误分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息、应用程序信息、存储时间和SQL异常信息,生成所述应用程序的SQL语句执行错误曲线;
响应于接收到应用程序执行SQL语句的分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息、应用程序信息、存储时间和聚合后的SQL执行耗时,生成所述应用程序执行所述SQL语句的平响曲线;
响应于接收到应用程序的慢SQL语句参数分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息、SQL参数和应用程序信息,得到所述应用程序执行所述慢SQL语句的SQL参数;
其中,所述存储时间是所述数据仓库存储所述数据库性能数据处理装置所上报数据的时间。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图7所示,是根据本申请实施例的数据库性能分析方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器901、存储器902,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器901为例。
存储器902即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的数据库性能分析方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的数据库性能分析方法。
存储器902作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的数据库性能分析方法对应的程序指令/模块。处理器901通过运行存储在存储器902中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的数据库性能分析方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据库性能分析的电子设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至数据库性能分析的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
数据库性能分析方法的电子设备还可以包括:输入装置903和输出装置904。处理器901、存储器902、输入装置903和输出装置904可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置903可接收输入的数字或字符信息,以及产生与数据库性能分析的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置904可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。服务器也可以是分布式系统的服务器,或结合了区块链的服务器,通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本公开的实施例,本公开还提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述数据库性能分析方法中任一项方法。
本申请实施例提出的数据库性能分析方案面向应用级别进行SQL监控,基于探针技术,可以拦截到应用程序实例上执行过的SQL文本、SQL执行次数、SQL执行耗时、SQL错误等调用信息。在应用程序实例本地进行SQL调用信息聚合,将数据量大幅压缩,再由各应用程序实例分别上传本地聚合后的数据到数据仓库,由数据库性能分析装置进行分析,输出分析结果。
本申请实施例提出的数据库性能分析方案针对使用数据库端提供的监控工具的方案而言具有以下优点:
1、易用性:不需要专业的DBA人员,业务开发和运维人员可以直观全面地监控SQL执行状况。
2、跨平台性:可以通过简单扩展(例如SQL拦截的具体Java方法)支持各类关系型数据库,包括但不限于MySQL,SQL Server,DB2,Oracle,Hive等主流关系型数据存储产品。
3、避免跨部门沟通:SQL监控、异常定位、调优、回归等全程由数据库性能分析方案自动完成,通常情况下无需DBA配合。
4、易于整合其它监控:目前的微服务监控技术(如链路监控、应用性能监控等)均实施在应用层面。本申请的数据库性能分析方案在应用层拦截SQL,可以整合相同层次的监控系统。
5、统一监控体系:通过应用级别的SQL监控,可以降低集群、分库分表等策略带来的监控复杂性。同时,整合微服务链路监控系统后,也可以打通调用链路上下游的统一监控。
6、性能影响低:在应用层通过字节码增强技术进行监控,对应用程序性能影响实测不超过5%,对存储层无性能影响。应用层可通过增加实例的方式,简单地实现性能提升,扩容难度远低于存储层。
本申请实施例提出的数据库性能分析方案针对在业务的应用程序中插入代码对SQL进行监控的方案而言,具有以下优点:
1、无侵入性:监控可实现对业务透明,大幅节约接入和维护成本,同时降低风险。
2、监控全面:可以对每一条SQL进行详细的监控,不限于特定的接口或模块。
本申请实施例提出的数据库性能分析方案针对APM方案而言具有以下优点:
1、准确度高:通过本地聚合的方式,实现了全量数据的分析,规避了传统APM常用的采样分析策略带来的数据不准确问题。
2、维护成本可控:本申请的数据库性能分析方案中各环节指标参数都具有可配置性,产生的数据量、占用存储空间成本高度可控。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (18)
1.一种数据库性能分析方法,其特征在于,包括:
响应于拦截到应用程序实例对数据库的调用操作,获取相应的应用程序信息和所述调用操作的调用信息;
将所述应用程序信息和所述调用信息上传给数据仓库,以便数据库性能分析装置根据所述数据仓库中存储的调用信息和应用程序信息分析所述数据库的执行性能。
2.根据权利要求1所述的方法,其特征在于,所述调用信息包括第一调用信息和第二调用信息,所述第一调用信息包括结构化查询语言SQL异常信息和SQL执行耗时,所述第二调用信息包括SQL文本信息、SQL参数信息和数据库信息。
3.根据权利要求2所述的方法,其特征在于,所述将所述应用程序信息和所述调用信息上传给数据仓库,包括:
响应于所述第一调用信息不满足预设条件,将所述应用程序信息和所述调用信息上传给数据仓库。
4.根据权利要求3所述的方法,其特征在于,所述第一调用信息不满足预设条件,包括:所述SQL异常信息不为空和/或所述SQL执行耗时大于预设第一阈值。
5.根据权利要求3所述的方法,其特征在于,所述将所述应用程序信息和所述调用信息上传给数据仓库,还包括:
响应于所述第一调用信息满足预设条件,根据所述调用信息生成聚合信息,将所述应用程序信息和所述聚合信息上传给数据仓库;所述聚合信息包括:聚合后的SQL文本信息、聚合后的SQL执行耗时、聚合后的数据库信息和SQL执行次数。
6.根据权利要求5所述的方法,其特征在于,所述第一调用信息满足预设条件,包括:所述SQL异常信息为空且所述SQL执行耗时小于或等于预设第一阈值。
7.根据权利要求5所述的方法,其特征在于,所述根据所述调用信息生成聚合信息,包括:根据当前获取到的SQL文本信息和本地存储的SQL文本信息确定所述SQL执行次数。
8.根据权利要求5所述的方法,其特征在于,所述将所述应用程序信息和所述调用信息上传给所述数据仓库,包括:按照预设周期将所述应用程序信息和所述调用信息上传给所述数据仓库;或者,
所述将所述应用程序信息和所述聚合信息上传给数据仓库,包括:按照预设周期,将所述应用程序信息和所述聚合信息上传给数据仓库。
9.根据权利要求8所述的方法,其特征在于,还包括:按照预设周期,在本地删除当前所述周期存储的应用程序信息和调用信息。
10.一种数据库性能分析方法,其特征在于,包括:
响应于接收到数据库性能分析请求,根据所述数据库性能分析请求查询数据仓库,并根据查询到的数据分析生成数据库的执行性能分析结果;
所述数据仓库中至少存储有应用程序信息和应用程序实例对数据库调用操作的调用信息,所述调用信息和所述应用程序信息由数据库性能数据处理装置在拦截到应用程序实例对数据库的调用操作后获取得到,并上传给所述数据仓库。
11.根据权利要求10所述的方法,其特征在于,所述调用信息包括第一调用信息和第二调用信息,所述第一调用信息包括结构化查询语言SQL异常信息和SQL执行耗时,所述第二调用信息包括SQL文本信息、SQL参数信息和数据库信息。
12.根据权利要求11所述的方法,其特征在于,所述调用信息还包括聚合信息,所述聚合信息包括:聚合后的SQL文本信息、聚合后的SQL执行耗时、聚合后的数据库信息和SQL执行次数。
13.根据权利要求12所述的方法,其特征在于,所述响应于接收到数据库性能分析请求,根据所述数据库性能分析请求查询数据仓库,并根据查询到的数据分析生成数据库的执行性能分析结果,包括以下之一或任意组合:
响应于接收到应用程序执行的SQL语句分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息和应用程序信息,得到所述应用程序执行的SQL语句;
响应于接收到应用程序执行的热点SQL语句分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息、应用程序信息和SQL执行次数,得到所述应用程序执行的热点SQL语句,其中,所述热点SQL语句为针对同一SQL文本的执行次数超过预设第二阈值的SQL语句;
响应于接收到应用程序执行的慢SQL语句分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息、应用程序信息和聚合后的SQL执行耗时,得到所述应用程序执行的慢SQL语句;
响应于接收到应用程序的数据库分布分析请求,根据数据仓库中存储的数据库信息、聚合后的数据库信息和应用程序信息,生成所述应用程序的数据库分布信息和/或表分布信息;
响应于接收到应用程序的SQL语句执行次数分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息、应用程序信息、存储时间和SQL执行次数,生成所述应用程序的SQL语句执行次数曲线;
响应于接收到应用程序的SQL语句执行错误分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息、应用程序信息、存储时间和SQL异常信息,生成所述应用程序的SQL语句执行错误曲线;
响应于接收到应用程序执行SQL语句的分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息、应用程序信息、存储时间和聚合后的SQL执行耗时,生成所述应用程序执行所述SQL语句的平响曲线;
响应于接收到应用程序的慢SQL语句参数分析请求,根据数据仓库中存储的SQL文本信息、聚合后的SQL文本信息、SQL参数和应用程序信息,得到所述应用程序执行所述慢SQL语句的SQL参数;
其中,所述存储时间是所述数据仓库存储所述数据库性能数据处理装置所上报数据的时间。
14.一种数据库性能数据处理装置,其特征在于,包括:探针模块和处理模块,所述探针模块用于,响应于拦截到应用程序实例对数据库的调用操作,获取相应的应用程序信息和所述调用操作的调用信息;
所述处理模块用于,将所述应用程序信息和所述调用信息上传给所述数据仓库,以便数据库性能分析装置根据所述数据仓库中存储的调用信息和应用程序信息分析所述数据库的执行性能。
15.一种数据库性能分析装置,其特征在于,包括:接收模块和分析模块,所述接收模块用于,接收数据库性能分析请求;
所述分析模块用于,查询数据仓库,生成数据库的执行性能分析结果;所述数据仓库中至少存储有应用程序信息和应用程序实例对数据库调用操作的调用信息,所述调用信息和所述应用程序信息由数据库性能数据处理装置在拦截到应用程序实例对数据库的调用操作后获取得到,并上传给所述数据仓库。
16.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-13中任一项所述的方法。
17.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-13中任一项所述的方法。
18.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011547425.6A CN112527620A (zh) | 2020-12-24 | 2020-12-24 | 数据库性能分析方法及装置、电子设备、介质、产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011547425.6A CN112527620A (zh) | 2020-12-24 | 2020-12-24 | 数据库性能分析方法及装置、电子设备、介质、产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112527620A true CN112527620A (zh) | 2021-03-19 |
Family
ID=74976057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011547425.6A Pending CN112527620A (zh) | 2020-12-24 | 2020-12-24 | 数据库性能分析方法及装置、电子设备、介质、产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527620A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986736A (zh) * | 2021-10-29 | 2022-01-28 | 重庆富民银行股份有限公司 | 基于java代理和字节码增强的慢sql监控系统及方法 |
WO2024055663A1 (zh) * | 2022-09-14 | 2024-03-21 | 华为云计算技术有限公司 | 一种数据库的性能监控方法及相关系统 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030110153A1 (en) * | 2001-12-11 | 2003-06-12 | Sprint Communications Company L.P. | Database performance monitoring method and tool |
CN101196890A (zh) * | 2006-12-08 | 2008-06-11 | 国际商业机器公司 | 聚合数据库运行时信息和分析应用性能的方法及装置 |
CN101989283A (zh) * | 2009-08-04 | 2011-03-23 | 中兴通讯股份有限公司 | 一种数据库性能的监控方法和装置 |
CN107358098A (zh) * | 2017-07-14 | 2017-11-17 | 北京安数云信息技术有限公司 | 基于插件的结构化查询语言sql注入检测方法和装置 |
CN108829557A (zh) * | 2018-05-10 | 2018-11-16 | 北京搜狐新媒体信息技术有限公司 | 一种基于OpenTSDB数据库的服务器性能监控数据分析方法及系统 |
US20190197140A1 (en) * | 2017-12-22 | 2019-06-27 | Warevalley Co., Ltd. | Automation of sql tuning method and system using statistic sql pattern analysis |
CN110113205A (zh) * | 2019-05-06 | 2019-08-09 | 南京大学 | 一种基于软件定义网络技术的网络排障系统及其工作方法 |
CN110297814A (zh) * | 2019-05-22 | 2019-10-01 | 中国平安人寿保险股份有限公司 | 数据库操作的性能监控方法、装置、设备及存储介质 |
CN110515750A (zh) * | 2019-09-05 | 2019-11-29 | 北京博睿宏远数据科技股份有限公司 | 一种应用拓扑生成方法、系统及集群 |
CN110515808A (zh) * | 2019-09-02 | 2019-11-29 | 北京博睿宏远数据科技股份有限公司 | 数据库监控方法、装置、计算机设备及存储介质 |
CN110543426A (zh) * | 2019-09-06 | 2019-12-06 | 中国工商银行股份有限公司 | 一种软件性能风险检测方法及装置 |
CN110888780A (zh) * | 2019-11-19 | 2020-03-17 | 泰康保险集团股份有限公司 | 应用监控方法、装置、设备及存储介质 |
CN111090666A (zh) * | 2019-11-29 | 2020-05-01 | 江苏苏宁物流有限公司 | 一种数据处理方法、装置、系统及计算机可读存储介质 |
CN111813633A (zh) * | 2020-07-20 | 2020-10-23 | 前海人寿保险股份有限公司 | 性能监控方法、装置、设备及可读存储介质 |
-
2020
- 2020-12-24 CN CN202011547425.6A patent/CN112527620A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030110153A1 (en) * | 2001-12-11 | 2003-06-12 | Sprint Communications Company L.P. | Database performance monitoring method and tool |
CN101196890A (zh) * | 2006-12-08 | 2008-06-11 | 国际商业机器公司 | 聚合数据库运行时信息和分析应用性能的方法及装置 |
CN101989283A (zh) * | 2009-08-04 | 2011-03-23 | 中兴通讯股份有限公司 | 一种数据库性能的监控方法和装置 |
CN107358098A (zh) * | 2017-07-14 | 2017-11-17 | 北京安数云信息技术有限公司 | 基于插件的结构化查询语言sql注入检测方法和装置 |
US20190197140A1 (en) * | 2017-12-22 | 2019-06-27 | Warevalley Co., Ltd. | Automation of sql tuning method and system using statistic sql pattern analysis |
CN108829557A (zh) * | 2018-05-10 | 2018-11-16 | 北京搜狐新媒体信息技术有限公司 | 一种基于OpenTSDB数据库的服务器性能监控数据分析方法及系统 |
CN110113205A (zh) * | 2019-05-06 | 2019-08-09 | 南京大学 | 一种基于软件定义网络技术的网络排障系统及其工作方法 |
CN110297814A (zh) * | 2019-05-22 | 2019-10-01 | 中国平安人寿保险股份有限公司 | 数据库操作的性能监控方法、装置、设备及存储介质 |
CN110515808A (zh) * | 2019-09-02 | 2019-11-29 | 北京博睿宏远数据科技股份有限公司 | 数据库监控方法、装置、计算机设备及存储介质 |
CN110515750A (zh) * | 2019-09-05 | 2019-11-29 | 北京博睿宏远数据科技股份有限公司 | 一种应用拓扑生成方法、系统及集群 |
CN110543426A (zh) * | 2019-09-06 | 2019-12-06 | 中国工商银行股份有限公司 | 一种软件性能风险检测方法及装置 |
CN110888780A (zh) * | 2019-11-19 | 2020-03-17 | 泰康保险集团股份有限公司 | 应用监控方法、装置、设备及存储介质 |
CN111090666A (zh) * | 2019-11-29 | 2020-05-01 | 江苏苏宁物流有限公司 | 一种数据处理方法、装置、系统及计算机可读存储介质 |
CN111813633A (zh) * | 2020-07-20 | 2020-10-23 | 前海人寿保险股份有限公司 | 性能监控方法、装置、设备及可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986736A (zh) * | 2021-10-29 | 2022-01-28 | 重庆富民银行股份有限公司 | 基于java代理和字节码增强的慢sql监控系统及方法 |
WO2024055663A1 (zh) * | 2022-09-14 | 2024-03-21 | 华为云计算技术有限公司 | 一种数据库的性能监控方法及相关系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11789943B1 (en) | Configuring alerts for tags associated with high-latency and error spans for instrumented software | |
KR102627690B1 (ko) | Sql 질의 플랜들을 최적화하기 위한 차원 콘텍스트 전파 기술들 | |
US11868373B2 (en) | Method and apparatus for monitoring an in-memory computer system | |
US10235430B2 (en) | Systems, methods, and apparatuses for detecting activity patterns | |
US20200276864A9 (en) | Mechanism to chain continuous queries | |
US10339038B1 (en) | Method and system for generating production data pattern driven test data | |
US7685092B2 (en) | Automatic problem-oriented transformation of database performance data | |
US9063973B2 (en) | Method and apparatus for optimizing access path in database | |
US20170154057A1 (en) | Efficient consolidation of high-volume metrics | |
WO2020238130A1 (zh) | 一种大数据日志监控方法及装置、存储介质和计算机设备 | |
US9361338B2 (en) | Offloaded, incremental database statistics collection and optimization | |
JP2016519810A (ja) | 半構造データのためのスケーラブルな分析プラットフォーム | |
CN112395333B (zh) | 用于排查数据异常的方法、装置、电子设备及存储介质 | |
US20150039555A1 (en) | Heuristically modifying dbms environments using performance analytics | |
US20210311845A1 (en) | Method and apparatus of monitoring interface performance of distributed application, device and storage medium | |
CN112527620A (zh) | 数据库性能分析方法及装置、电子设备、介质、产品 | |
US11442930B2 (en) | Method, apparatus, device and storage medium for data aggregation | |
CN112491617A (zh) | 一种链路跟踪方法、装置、电子设备和介质 | |
CN111125045B (zh) | 一种轻量级etl处理平台 | |
US8543549B2 (en) | Normalizing data on database restore | |
CN114625763A (zh) | 用于数据库的信息分析方法、装置、电子设备和可读介质 | |
CN114077510B (zh) | 一种故障根因定位和故障根因显示的方法和装置 | |
US11782916B2 (en) | Autonomous testing of logical model inconsistencies | |
CN114077510A (zh) | 一种故障根因定位和故障根因显示的方法和装置 | |
WO2021217119A1 (en) | Analyzing tags associated with high-latency and error spans for instrumented software |
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 |