CN117435492A - 数据库性能测试方法、装置、计算机设备和存储介质 - Google Patents

数据库性能测试方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN117435492A
CN117435492A CN202311434013.5A CN202311434013A CN117435492A CN 117435492 A CN117435492 A CN 117435492A CN 202311434013 A CN202311434013 A CN 202311434013A CN 117435492 A CN117435492 A CN 117435492A
Authority
CN
China
Prior art keywords
database
log
analysis result
access
test
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
Application number
CN202311434013.5A
Other languages
English (en)
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202311434013.5A priority Critical patent/CN117435492A/zh
Publication of CN117435492A publication Critical patent/CN117435492A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种数据库性能测试方法、装置、计算机设备、存储介质和计算机程序产品,涉及金融科技领域或其他相关领域。方法包括:获取预设时段的数据库日志,解析数据库日志得到测试解析结果;采用测试解析结果中包括的各结构化语句,对第一数据库进行访问,并在访问结束后获取第一数据库生成的日志;采用测试解析结果中包括的各结构化语句,对第二数据库进行访问,并在访问结束后获取第二数据库生成的日志;对第一数据库日志进行解析得到第一解析结果,并对第二数据库日志进行解析得到第二解析结果;根据第一解析结果和第二解析结果,生成第一数据库和第二数据库的性能测试结果。采用本方法能够提高数据库性能测试的效率。

Description

数据库性能测试方法、装置、计算机设备和存储介质
技术领域
本申请涉及数据库技术领域,特别是涉及一种数据库性能测试方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着数据库技术的发展,现存的数据库难以满足业务需求,因此进行数据库转型。为了判断转型后的数据库是否在满足业务需求的基础上,性能没有下降,需要对转型前后的数据库性能进行对比。
传统方法中,数据库日志平台抓取访问频率最高的语句,将这些语句发送至新旧数据库,同时分别在新旧数据库部署性能监控工具,对比二者的监控数据报告,得出转型前后的数据库性能测试报告。
然而,现有技术中的性能监控工具没有统一,降低了性能测试的效率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高性能测试效率的数据库性能测试方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种数据库性能测试方法。所述方法包括:获取预设时段的数据库日志,解析所述数据库日志得到测试解析结果;采用所述测试解析结果中包括的各结构化语句,对第一数据库进行访问,并在访问结束后获取所述第一数据库生成的日志,得到第一数据库日志;采用所述测试解析结果中包括的各结构化语句,对第二数据库进行访问,并在访问结束后获取所述第二数据库生成的日志,得到第二数据库日志;对所述第一数据库日志进行解析得到第一解析结果,并对所述第二数据库日志进行解析得到第二解析结果;根据所述第一解析结果和所述第二解析结果,生成所述第一数据库和所述第二数据库的性能测试结果。
第二方面,本申请还提供了一种数据库性能测试装置。包括:日志解析模块,用于获取预设时段的数据库日志,解析所述数据库日志得到测试解析结果;第一访问模块,用于采用所述测试解析结果中包括的各结构化语句,对第一数据库进行访问,并在访问结束后获取所述第一数据库生成的日志,得到第一数据库日志;第二访问模块,用于采用所述测试解析结果中包括的各结构化语句,对第二数据库进行访问,并在访问结束后获取所述第二数据库生成的日志,得到第二数据库日志;第一结果生成模块,用于对所述第一数据库日志进行解析得到第一解析结果,并对所述第二数据库日志进行解析得到第二解析结果;第二结果生成模块,用于根据所述第一解析结果和所述第二解析结果,生成所述第一数据库和所述第二数据库的性能测试结果。
在一些实施例中,所述第一访问模块,还用于确定所述测试解析结果中各结构化语句的发送时间;针对每个所述结构化语句,按照所述结构化语句的发送时间向所述第一数据库发送所述结构化语句,以访问所述第一数据库。
在一些实施例中,所述第一访问模块,还用于在所述测试解析结果中各结构化语句均已发送至所述第一数据库后,确定访问结束。
在一些实施例中,所述第一访问模块,还用于调用数据库访问接口,通过所述数据库访问接口将所述测试解析结果中各结构化语句发送至所述第一数据库,以访问所述第一数据库。
在一些实施例中,所述装置还包括模型训练模块,用于获取历史数据库日志和所述历史数据库日志对应的真实解析结果;将所述历史数据库日志输入到待训练的日志解析模型中,得到所述历史数据库日志对应的预测解析结果;基于所述真实解析结果与所述预测解析结果之间的差异,训练所述日志解析模型。
在一些实施例中,所述第二结果生成模块,还用于根据所述第一解析结果确定所述第一数据库在至少一个预设性能指标上的指标值;根据所述第二解析结果确定所述第二数据库在至少一个预设性能指标上的指标值;将所述第一数据库和所述第二数据库在同一预设性能指标的指标值进行对比分析,生成所述第一数据库和所述第二数据库的性能测试结果。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述数据库性能测试方法中的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据库性能测试方法中的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据库性能测试方法中的步骤。
上述数据库性能测试方法、装置、计算机设备、存储介质和计算机程序产品,获取预设时段的数据库日志,解析所述数据库日志得到测试解析结果;采用所述测试解析结果中包括的各结构化语句,对第一数据库进行访问,并在访问结束后获取所述第一数据库生成的日志,得到第一数据库日志;采用所述测试解析结果中包括的各结构化语句,对第二数据库进行访问,并在访问结束后获取所述第二数据库生成的日志,得到第二数据库日志;对所述第一数据库日志进行解析得到第一解析结果,并对所述第二数据库日志进行解析得到第二解析结果;根据所述第一解析结果和所述第二解析结果,生成所述第一数据库和所述第二数据库的性能测试结果。基于同一个模型可以得到至少两个测试对象的性能报告并进行对比,提高了性能测试的效率。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中数据库性能测试方法的应用环境图;
图2为一个实施例中数据库性能测试方法的流程示意图;
图3为一个实施例中经网络模型的训练流程示意图;
图4为另一个实施例中数据库性能测试方法的流程示意图;
图5为一个实施例中数据库性能测试装置的结构框图;
图6为一个实施例中计算机设备的内部结构图;
图7为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据库性能测试方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。
具体地,服务器104获取预设时段的数据库日志,并对该预设时段的数据库日志进行解析,得到测试解析结果。服务器104采用测试解析结果中包括的各结构化语句,对第一数据库进行访问,并在访问结束后获取第一数据库生成的日志,得到第一数据库日志。服务器104采用测试解析结果中包括的各结构化语句,对第二数据库进行访问,并在访问结束后获取第二数据库生成的日志,得到第二数据库日志。服务器104分别解析第一数据库日志和第二数据库日志,对第一数据库日志进行解析得到第一解析结果,并对第二数据库日志进行解析得到第二解析结果。服务器104根据第一解析结果和第二解析结果,生成第一数据库和第二数据库的性能测试结果。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个示例性的实施例中,如图2所示,提供了一种数据库性能测试方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤202至步骤210。其中:
步骤202,获取预设时段的数据库日志,解析数据库日志得到测试解析结果。
其中,预设时段是预先选择或者设定好的一段时间。数据库日志是数据库的一种记录机制,用于记录数据库中发生的所有操作和事件。测试解析结果是针对预设时段的数据库日志进行解析得到的解析结果,测试解析结果中包括但不限于包括处理时长、结构化语句和访问时间等信息。处理时长指执行某个结构化语句所花费的时间。访问时间指某个数据库操作发生的时间,通常是指数据库日志中记录的操作具体时间。
具体地,服务器获取预设时段的数据库日志,对预设时段的数据库日志进行解析,得到预设时段的数据库日志对应的解析结果,作为测试解析结果。
在一些实施例中,解析数据库日志可以通过训练神经网络模型来实现。如图3所示,提供了一种用于日志解析的神经网络模型的训练流程。
首先,服务器将接收到的数据库日志文件根据日期顺序进行排列,并将相同日期的数据库日志文件合并,作为一个数据集。为合并后的数据库日志文件构成的数据集添加预设标签,以便于训练时快速定位对应的数据集。预设标签可以但不限于是数据库操作时间、数据库相关的结构化语句以及数据库处理请求所用的时长等。其次,利用过滤器算法,根据指定的关键词,对数据集进行处理,从一个数据集中过滤出符合指定关键词的数据。一般来说,利用过滤器算法过滤出的数据集中符合条件的数据,包括但不限于数据库操作时间、数据库相关的结构化语句以及数据库处理请求所用的时长信息。然后,利用机器学习中监督学习的分类算法对添加标签的数据集进行训练,得到用于日志解析的神经网络模型。训练结束后,可以将该用于日志解析的神经网络模型应用于测试数据中,检查训练效果是否符合预期。
步骤204,采用测试解析结果中包括的各结构化语句,对第一数据库进行访问,并在访问结束后获取第一数据库生成的日志,得到第一数据库日志。
其中,结构化语句是具有明确的语法和结构规则,可以按照规定的格式和执行的语句,在数据库领域中,结构化语句一般指SQL(Structured Query Language,结构化查询语句)语句。第一数据库是需要测试的多个数据库其中之一,多个是指至少两个。第一数据库日志是第一数据库运行过程中生成的数据库日志。
具体地,服务器根据测试解析结果,得到测试解析结果中包括的各结构化语句,并访问需要进行测试的第一数据库。然后,服务器获取第一数据库运行过程中生成的日志,得到第一数据库日志。
在一些实施例中,服务器可以生成一个数据库请求模拟器,用于整合测试解析结果中得到的关键信息,生成数据库请求清单,并基于该数据库请求清单,根据预设的顺序依次向需要测试的第一数据库发送SQL请求语句。预设的顺序可以但不限于是数据库日志产生的时间顺序或者数据库日志的时间长短顺序。以按照数据库日志产生的时间顺序发送SQL请求语句为例,模拟器按照数据库生产日志所对应的时间,向不同的测试数据库发送相同的SQL请求语句。例如,生产环境在时间为8:05:32时发送了3条SQL请求,分别是a、b、c,那么模拟器也在时间为8:05:32时向不同的测试数据库发送相同的3条SQL请求。模拟器发送请求时采用聚类算法,例如可以在某个时点时间,汇总所有的SQL请求语句,以便于模拟器确定应该在什么时间发送哪个或者哪些SQL请求。聚类算法是在没有事先定义类别标签的情况下,将数据集中的对象分组或聚类成具有相似特征的集合的一种算法。
步骤206,采用测试解析结果中包括的各结构化语句,对第二数据库进行访问,并在访问结束后获取第二数据库生成的日志,得到第二数据库日志。
其中,第二数据库是需要测试的多个数据库其中之一,多个是指至少两个。第二数据库日志是第二数据库运行过程中生成的数据库日志。
具体地,服务器根据测试解析结果,得到测试解析结果中包括的各结构化语句,并访问需要进行测试的第二数据库。然后,服务器获取第二数据库运行过程中生成的日志,得到第二数据库日志。
步骤208,对第一数据库日志进行解析得到第一解析结果,并对第二数据库日志进行解析得到第二解析结果。
其中,第一解析结果是服务器解析第一数据库日志得到的解析结果,第二解析结果是服务器解析第二数据库日志得到的解析结果。
具体地,服务器分别对第一数据库日志和第二数据库日志进行解析,可以分别得到第一解析结果和第二解析结果。
在一些实施例中,解析数据库日志可以通过训练神经网络模型来实现。服务器分别将第一数据库的日志文件和第二数据库的日志文件输入至经过训练的神经网络模型中,经过训练的神经网络模型对第一数据库的日志文件和第二数据库的日志文件进行解析,得到第一解析结果和第二解析结果。
步骤210,根据第一解析结果和第二解析结果,生成第一数据库和第二数据库的性能测试结果。
其中,性能测试结果是第一数据库和第二数据库的分别的性能情况以及第一数据库和第二数据库性能的对比情况。
具体地,服务器将第一解析结果和第二解析结果与转型前的旧数据库进行对比,可以得到第一数据库和第二数据库相比于转型前的旧数据库所提升的性能。服务器并将第一解析结果和第二解析结果进行对比,得到第一数据库和第二数据库比转型前的旧数据库性能提升的程度和范围的异同点。
在一些实施例中,服务器可以生成数据整合模块,将第一解析结果和第二解析结果整合起来,然后输出第一解析结果和第二解析结果的对比结果数据。对比结果数据的形式可以但不限于是柱状图、饼图或者表格等。
上述数据库性能测试方法中,获取预设时段的数据库日志,解析数据库日志得到测试解析结果;采用测试解析结果中包括的各结构化语句,对第一数据库进行访问,并在访问结束后获取第一数据库生成的日志,得到第一数据库日志;采用测试解析结果中包括的各结构化语句,对第二数据库进行访问,并在访问结束后获取第二数据库生成的日志,得到第二数据库日志;对第一数据库日志进行解析得到第一解析结果,并对第二数据库日志进行解析得到第二解析结果;根据第一解析结果和第二解析结果,生成第一数据库和第二数据库的性能测试结果。基于同一个模型可以得到至少两个测试对象的性能报告并进行对比,提高了性能测试的效率。
在一个示例性的实施例中,采用测试解析结果中包括的各结构化语句,对第一数据库进行访问,包括:确定测试解析结果中各结构化语句的发送时间;针对每个结构化语句,按照结构化语句的发送时间向第一数据库发送结构化语句,以访问第一数据库。
其中,发送时间是转型前的旧数据库在预设时段的运行过程中结构化语句发送的时间。
具体地,服务器确定测试解析结果中各结构化语句由转型前的旧数据库发送的时间,根据各结构化语句的发送时间,对各结构化语句进行归类,并按照发送时间的顺序依次将各结构化语句发送至第一数据库,即根据发送时间的顺序向第一数据库发送访问请求。
在一些实施例中,服务器可以在没有预设类别标签的情况下,采用无监督学习算法,将各结构化语句进行归类。也可以利用带有标签的结构化语句作为训练样本,采用监督学习算法,对神经网络模型进行训练,从而实现各结构化语句的归类。
本实施例中,通过确定各结构化语句的发送时间,能够按照一定的顺序向第一数据库发送访问请求,提高了数据库访问效率。
在一个示例性的实施例中,在测试解析结果中各结构化语句均已发送至第一数据库后,确定访问结束。
具体地,服务器将测试解析结果中的各结构化语句按照发送时间的顺序,依次发送至第一数据库。当测试解析结果中的所有结构化语句都完成发送后,确定第一数据库的访问结束。
本实施例中,通过判断第一数据库访问的结束条件,能够提高数据库访问效率,从而提高数据库性能测试效率。
在一个示例性的实施例中,采用测试解析结果中包括的各结构化语句,对第一数据库进行访问,包括:调用数据库访问接口,通过数据库访问接口将测试解析结果中各结构化语句发送至第一数据库,以访问第一数据库。
其中,数据库访问接口是用于和数据库进行交互的一种编程接口。
具体地,服务器通过数据库访问接口与数据库进行连接并实现交互,向第一数据库发送各结构化请求语句。
在一些实施例中,基于不同编程语言或者不同数据库管理系统的数据库,连接所需的数据库访问接口也不同。因此在调用数据库访问接口之前,需要先针对待访问的数据库配置对应的数据库访问接口。配置数据库访问接口时,服务器可以先下载和安装对应数据库的驱动程序,然后引入数据库驱动程序的库文件或依赖项,再根据数据库的连接信息,配置连接参数。连接参数包括但不限于数据库的主机名、端口号、数据库名称、用户名和密码等。配置完成后即可建立与数据库的连接。
本实施例中,通过数据库访问接口,能够建立与第一数据库之间的连接,进而访问第一数据库,提高了数据库的访问效率。
在一个示例性的实施例中,解析是通过日志解析模型实现的,方法还包括日志解析模型训练步骤,日志解析模型训练步骤包括:获取历史数据库日志和历史数据库日志对应的真实解析结果;将历史数据库日志输入到待训练的日志解析模型中,得到历史数据库日志对应的预测解析结果;基于真实解析结果与预测解析结果之间的差异,训练日志解析模型。
其中,日志解析模型是用于解析数据库日志的模型。历史数据库日志是日志解析模型训练之前数据库运行过程中产生的日志。真实解析结果是解析历史数据库日志得到的解析结果。预测解析结果是待训练的日志解析模型对历史数据库日志进行预测得到的解析结果。
具体地,服务器从历史数据库日志中获取指定时段的历史数据库日志,对指定时段的历史数据库日志进行解析,得到真实解析结果。服务器再将指定时段的历史数据库日志输入至待训练的日志解析模型,待训练的日志解析模型根据指定时段的历史数据库日志,可以预测出指定时段的历史数据库日志对应的日志解析结果,得到预测解析结果。将真实解析结果和预测解析结果进行对比,得到真实解析结果和预测解析结果之间的差值。基于真实解析结果和预测解析结果之间的差值,可以训练日志解析模型。
本实施例中,通过训练日志解析模型,能够对不同数据库的日志进行解析,扩大了日志解析的应用范围。
在一个示例性的实施例中,根据第一解析结果和第二解析结果,生成第一数据库和第二数据库的性能测试结果,包括:根据第一解析结果确定第一数据库在至少一个预设性能指标上的指标值;根据第二解析结果确定第二数据库在至少一个预设性能指标上的指标值;将第一数据库和第二数据库在同一预设性能指标的指标值进行对比分析,生成第一数据库和第二数据库的性能测试结果。
其中,性能测试结果是第一数据库和第二数据库的分别的性能情况以及第一数据库和第二数据库性能的对比情况。预设性能指标是基于转型前的旧数据库的原始性能指标预设的,预计第一数据库和第二数据库会比转型前的旧数据库的性能有所提升的指标。
具体地,服务器根据第一解析结果和第二解析结果,分别确定第一数据库和第二数据库在至少一个预设性能指标上的指标值,然后从至少一个预设性能指标中找出第一数据库和第二数据库共同具有的指标,对第一数据库和第二数据库在同一预设性能指标下的指标值进行对比与分析,得到分析结果,作为第一数据库和第二数据库的性能测试结果。
在一些实施例中,服务器对转型前的旧数据库进行性能测试,得到转型前的旧数据库的原始性能指标,再与第一解析结果和第二解析结果对比,判断出第一数据库和第二数据库相比转型前的旧数据库的性能提升体现在哪些指标上。最后将第一解析结果和第二解析结果针对同一预设性能指标的指标值进行对比与分析,判断第一数据库和第二数据库相比于转型前的旧数据库性能提高的程度与效果。
本实施例中,通过对比第一数据库和第二数据库在同一预设性能指标的指标值,能够得到性能测试结果,从而判断第一数据库和第二数据库性能提升的效果。
在一些实施例中,如图4所示,展示了一种数据库性能测试的流程。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据库性能测试方法的数据库性能测试装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据库性能测试装置实施例中的具体限定可以参见上文中对于数据库性能测试方法的限定,在此不再赘述。
在一个示例性的实施例中,如图5所示,提供了一种数据库性能测试装置,包括:日志解析模块502、第一访问模块504、第二访问模块506、第一结果生成模块508和第二结果生成模块510,其中:
日志解析模块502,用于获取预设时段的数据库日志,解析数据库日志得到测试解析结果;
第一访问模块504,用于采用测试解析结果中包括的各结构化语句,对第一数据库进行访问,并在访问结束后获取第一数据库生成的日志,得到第一数据库日志;
第二访问模块506,用于采用测试解析结果中包括的各结构化语句,对第二数据库进行访问,并在访问结束后获取第二数据库生成的日志,得到第二数据库日志;
第一结果生成模块508,用于对第一数据库日志进行解析得到第一解析结果,并对第二数据库日志进行解析得到第二解析结果;
第二结果生成模块510,用于根据第一解析结果和第二解析结果,生成第一数据库和第二数据库的性能测试结果。
在一些实施例中,第一访问模块,还用于确定测试解析结果中各结构化语句的发送时间;针对每个结构化语句,按照结构化语句的发送时间向第一数据库发送结构化语句,以访问第一数据库。
在一些实施例中,第一访问模块,还用于在测试解析结果中各结构化语句均已发送至第一数据库后,确定访问结束。
在一些实施例中,第一访问模块,还用于调用数据库访问接口,通过数据库访问接口将测试解析结果中各结构化语句发送至第一数据库,以访问第一数据库。
在一些实施例中,装置还包括模型训练模块,用于获取历史数据库日志和历史数据库日志对应的真实解析结果;将历史数据库日志输入到待训练的日志解析模型中,得到历史数据库日志对应的预测解析结果;基于真实解析结果与预测解析结果之间的差异,训练日志解析模型。
在一些实施例中,第二结果生成模块,还用于根据第一解析结果确定第一数据库在至少一个预设性能指标上的指标值;根据第二解析结果确定第二数据库在至少一个预设性能指标上的指标值;将第一数据库和第二数据库在同一预设性能指标的指标值进行对比分析,生成第一数据库和第二数据库的性能测试结果。
上述数据库性能测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储会话数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据库性能测试方法。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据库性能测试方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6和图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个示例性的实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个示例性的实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个示例性的实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种数据库性能测试方法,其特征在于,所述方法包括:
获取预设时段的数据库日志,解析所述数据库日志得到测试解析结果;
采用所述测试解析结果中包括的各结构化语句,对第一数据库进行访问,并在访问结束后获取所述第一数据库生成的日志,得到第一数据库日志;
采用所述测试解析结果中包括的各结构化语句,对第二数据库进行访问,并在访问结束后获取所述第二数据库生成的日志,得到第二数据库日志;
对所述第一数据库日志进行解析得到第一解析结果,并对所述第二数据库日志进行解析得到第二解析结果;
根据所述第一解析结果和所述第二解析结果,生成所述第一数据库和所述第二数据库的性能测试结果。
2.根据权利要求1所述的方法,其特征在于,所述采用所述测试解析结果中包括的各结构化语句,对第一数据库进行访问,包括:
确定所述测试解析结果中各结构化语句的发送时间;
针对每个所述结构化语句,按照所述结构化语句的发送时间向所述第一数据库发送所述结构化语句,以访问所述第一数据库。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述测试解析结果中各结构化语句均已发送至所述第一数据库后,确定访问结束。
4.根据权利要求2所述的方法,其特征在于,所述采用所述测试解析结果中包括的各结构化语句,对第一数据库进行访问,包括:
调用数据库访问接口,通过所述数据库访问接口将所述测试解析结果中各结构化语句发送至所述第一数据库,以访问所述第一数据库。
5.根据权利要求1所述的方法,其特征在于,解析是通过日志解析模型实现的,所述方法还包括日志解析模型训练步骤,所述日志解析模型训练步骤包括:
获取历史数据库日志和所述历史数据库日志对应的真实解析结果;
将所述历史数据库日志输入到待训练的日志解析模型中,得到所述历史数据库日志对应的预测解析结果;
基于所述真实解析结果与所述预测解析结果之间的差异,训练所述日志解析模型。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一解析结果和所述第二解析结果,生成所述第一数据库和所述第二数据库的性能测试结果,包括:
根据所述第一解析结果确定所述第一数据库在至少一个预设性能指标上的指标值;
根据所述第二解析结果确定所述第二数据库在至少一个预设性能指标上的指标值;
将所述第一数据库和所述第二数据库在同一预设性能指标的指标值进行对比分析,生成所述第一数据库和所述第二数据库的性能测试结果。
7.一种数据库性能测试装置,其特征在于,所述装置包括:
日志解析模块,用于获取预设时段的数据库日志,解析所述数据库日志得到测试解析结果;
第一访问模块,用于采用所述测试解析结果中包括的各结构化语句,对第一数据库进行访问,并在访问结束后获取所述第一数据库生成的日志,得到第一数据库日志;
第二访问模块,用于采用所述测试解析结果中包括的各结构化语句,对第二数据库进行访问,并在访问结束后获取所述第二数据库生成的日志,得到第二数据库日志;
第一结果生成模块,用于对所述第一数据库日志进行解析得到第一解析结果,并对所述第二数据库日志进行解析得到第二解析结果;
第二结果生成模块,用于根据所述第一解析结果和所述第二解析结果,生成所述第一数据库和所述第二数据库的性能测试结果。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202311434013.5A 2023-10-31 2023-10-31 数据库性能测试方法、装置、计算机设备和存储介质 Pending CN117435492A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311434013.5A CN117435492A (zh) 2023-10-31 2023-10-31 数据库性能测试方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311434013.5A CN117435492A (zh) 2023-10-31 2023-10-31 数据库性能测试方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN117435492A true CN117435492A (zh) 2024-01-23

Family

ID=89553074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311434013.5A Pending CN117435492A (zh) 2023-10-31 2023-10-31 数据库性能测试方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN117435492A (zh)

Similar Documents

Publication Publication Date Title
JP7273045B2 (ja) Sqlクエリプランを最適化するための次元コンテキスト伝搬技術
US10810472B2 (en) Techniques for sentiment analysis of data using a convolutional neural network and a co-occurrence network
CN109997126B (zh) 事件驱动提取、变换、加载(etl)处理
EP4195112A1 (en) Systems and methods for enriching modeling tools and infrastructure with semantics
Begoli et al. Design principles for effective knowledge discovery from big data
US20160034547A1 (en) Systems and methods for an sql-driven distributed operating system
CN112558931B (zh) 一种面向用户工作流模式的智能模型构建及运行方法
US20230139783A1 (en) Schema-adaptable data enrichment and retrieval
US11720825B2 (en) Framework for multi-tenant data science experiments at-scale
AU2020337927B2 (en) High efficiency interactive testing platform
US11205046B2 (en) Topic monitoring for early warning with extended keyword similarity
CN109522341A (zh) 实现基于sql的流式数据处理引擎的方法、装置、设备
JP2012113706A (ja) データベース・クエリ最適化のためのコンピュータで実装される方法、コンピュータ・プログラム、およびデータ処理システム
US9646048B2 (en) Declarative partitioning for data collection queries
US11061934B1 (en) Method and system for characterizing time series
US20140006000A1 (en) Built-in response time analytics for business applications
CN117033424A (zh) 慢sql语句的查询优化方法、装置和计算机设备
CN116860311A (zh) 脚本分析方法、装置、计算机设备及存储介质
US11615061B1 (en) Evaluating workload for database migration recommendations
Dass et al. Amelioration of Big Data analytics by employing Big Data tools and techniques
CN117435492A (zh) 数据库性能测试方法、装置、计算机设备和存储介质
CN115248815A (zh) 预测查询处理
Chitturi Apache Spark for Data Science Cookbook
US11327938B2 (en) Method to improve prediction accuracy of business data with enhanced data filtering and data reduction mechanism
US20220383129A1 (en) Simulating service performance using machine learning

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