数据库性能测试方法、设备及存储介质技术

技术编号:34010778 阅读:15 留言:0更新日期:2022-07-02 14:32
本申请实施例提供一种数据库性能测试方法、设备及存储介质。其中,方法包括如下的步骤:数据库性能测试方法,适用于测试设备,其中,包括:请求数据库服务器在其所运行的数据库中创建用于性能测试的数据库表;设置有关数据库表中记录的逻辑关系;逻辑关系包括数据库表中同一条记录中字段间的第一逻辑关系;向数据库服务器发送针对数据库表的事务请求,以由数据库服务器执行事务请求对应的事务,事务请求是基于所述逻辑关系生成的;根据针对数据库表的查询结果,确定数据库表是否满足逻辑关系,得到第一确定结果;根据第一确定结果,确定数据库是否满足事务特性。本申请实施例提供的测试方案具有较高可靠性。测试方案具有较高可靠性。测试方案具有较高可靠性。

【技术实现步骤摘要】
数据库性能测试方法、设备及存储介质


[0001]本申请涉及数据库
,尤其涉及一种数据库性能测试方法、设备及存储介质。

技术介绍

[0002]ACID,是指数据库管理系统(Database Management System,DBMS)在写入或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个事务特性:原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability)。
[0003]ACID正确性对于数据库系统的重要性不言而喻。当我们开发新的数据库引擎的时候,最重要的就是检测数据库的ACID特性。目前,已有检测方案的检测结果可靠性较低。

技术实现思路

[0004]鉴于上述问题,提出了本申请以提供一种解决上述问题或至少部分地解决上述问题的数据处理方法、设备及存储介质。
[0005]于是,在本申请的一个实施例中,提供了一种数据库性能测试方法,适用于测试设备,其中,包括:
[0006]请求数据库服务器在其所运行的数据库中创建用于性能测试的数据库表;
[0007]设置有关所述数据库表中记录的逻辑关系;所述逻辑关系包括所述数据库表中同一条记录中字段间的第一逻辑关系;
[0008]向所述数据库服务器发送针对所述数据库表的事务请求,以由所述数据库服务器执行所述事务请求对应的事务,其中,所述事务请求是基于所述逻辑关系生成的;
[0009]根据针对所述数据库表的查询结果,确定所述数据库表是否满足所述逻辑关系,得到第一确定结果;
[0010]根据所述第一确定结果,确定所述数据库是否满足事务特性。
[0011]在本申请的又一实施例中,提供了一种电子设备。该电子设备,包括:存储器和处理器,其中,
[0012]所述存储器,用于存储程序;
[0013]所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以实现上述任一项所述的数据库性能测试方法。
[0014]在本申请的又一实施例中,提供了一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述任一项所述的数据库性能测试方法。
[0015]本申请实施例提供的技术方案中,创建专门用于性能测试的数据库表;并配置数据库表中记录的逻辑关系;基于该逻辑关系向数据库服务器发送事务请求,以由数据库服务器针对数据库表执行相应事务;然后根据针对数据库表的查询结果,确定数据库表中相应记录是否满足上述逻辑关系,进而确定数据库是否满足事务特性。通过查询若发现数据
库表中相应记录不满足上述逻辑关系,说明数据库打破了数据库事务特性;若未发现数据库表中相应记录满足上述逻辑关系,说明数据库保持有数据库事务特性。本申请实施例提供的检验方案具有较高的可靠性。
附图说明
[0016]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1为本申请一实施例提供的数据库性能测试系统的示意图;
[0018]图2为本申请一实施例提供的数据库性能测试方法的流程示意图;
[0019]图3为本申请一实施例提供的信息表示例图;
[0020]图4为本申请一实施例提供的电子设备的结构框图。
具体实施方式
[0021]为了使本
的人员更好地理解本申请方案,下面将根据本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0022]此外,在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
[0023]在对本申请实施例提供的数据库性能测试方法进行介绍前,先对本申请实施例提供的方法所涉及的数据库性能测试系统进行介绍。如图1所示,该系统可包括:测试设备10和数据库服务器20。其中,
[0024]测试设备10用于:请求数据库服务器在其所运行的数据库中创建用于性能测试的数据库表;设置有关所述数据库表中记录的逻辑关系;所述逻辑关系包括所述数据库表中同一条记录中字段间的第一逻辑关系;向所述数据库服务器发送针对所述数据库表的事务请求,其中,所述事务请求是基于所述逻辑关系生成的;根据针对所述数据库表的查询结果,确定所述数据库表是否满足所述逻辑关系,以得到第一确定结果;根据所述第一确定结果,确定所述数据库是否满足事务特性。
[0025]数据库服务器20用于:根据接收到的事务请求执行所述事务请求对应的事务。
[0026]该测试设备可以为终端,也可以为服务端。其中,服务端可以是常用服务器或虚拟服务器等,本申请实施例对此不作具体限定。
[0027]上述数据库服务器20也可以是常用服务器或虚拟服务器等,本申请实施例对此不作具体限定。
[0028]上述系统中测试设备10、数据库服务器20的内部处理过程以及两者之间的交互过程将在下述实施例中详细介绍。
[0029]图2示出了本申请一实施例提供的数据库性能测试的流程示意图。该方法适用于测试设备,也即该方法的执行主体为测试设备。该测试设备可以为终端,也可以为服务端。其中,服务端可以是常用服务器、云端或虚拟服务器等,本申请实施例对此不作具体限定。如图2所示,该方法包括:
[0030]101、请求数据库服务器在其所运行的数据库中创建用于性能测试的数据库表。
[0031]102、设置所述数据库表中记录的逻辑关系。
[0032]103、向所述数据库服务器发送针对所述数据库表的事务请求,以由所述数据库服务器执行所述事务请求对应的事务。
[0033]其中,所述事务请求是基于所述逻辑关系生成的。
[0034]104、根据针对所述数据库表的查询结果,确定所述数据库表是否满足所述逻辑关系,以得到第一确定结果。
[0035]105、根据所述第一确定结果,确定所述数据库是否满足事务特性。
[0036]上述101中,在一实例中,测试设备可根据用户导入的性能测试配置文件,确定用于性能测试的数据库表的表结构信息;再根据表结构信息,生成数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库性能测试方法,适用于测试设备,其中,包括:请求数据库服务器在其所运行的数据库中创建用于性能测试的数据库表;设置有关所述数据库表中记录的逻辑关系,其中,所述逻辑关系包括所述数据库表中同一条记录中字段间的第一逻辑关系;向所述数据库服务器发送针对所述数据库表的事务请求,以由所述数据库服务器执行所述事务请求对应的事务,其中,所述事务请求是基于所述逻辑关系生成的;根据针对所述数据库表的查询结果,确定所述数据库表是否满足所述逻辑关系,以得到第一确定结果;根据所述第一确定结果,确定所述数据库是否满足事务特性。2.根据权利要求1所述的方法,其中,所述逻辑关系还包括所述数据库表中字段在所述数据库表中同一事务对应的至少两条记录之间的第二逻辑关系。3.根据权利要求2所述的方法,其中,所述数据库表包括多个字段;所述多个字段中包括主键字段;设置所述数据库表中同一条记录中字段间的第一逻辑关系,包括:从所述多个字段中确定出第一字段;所述第一字段区别于所述主键字段;设置所述数据库表中同一记录中所述第一字段与所述主键字段之间的第一函数关系;其中,在同一记录中,所述第一字段的值由所述主键字段的值以及所述第一函数关系确定;所述第一逻辑关系包括所述第一函数关系。4.根据权利要求3所述的方法,其中,设置所述数据库表中字段在所述数据库表中同一事务对应的至少两条记录之间的第二逻辑关系,包括:从所述多个字段中确定出至少一个第二字段;所述第二字段区别于所述主键字段以及所述第一字段;设置所述数据库表中所述至少一个第二字段在所述数据库表中同一事务对应的至少两条记录之间的第二函数关系;其中,所述第二逻辑关系包括所述第二函数关系。5.根据权利要求1至4中任一项所述的方法,其中,向所述数据库服务器发送针对所述数据库表的事务请求,包括:确定针对所述数据库的压力测试策略;按照所述压力测试策略,向所述数据库服务器发送针对所述数据库表的事务请求。6.根据权利要求1至4中任一项所述的方法,其中,所述事务请求为多个;根据第一预设比例,将多个所述事务请求划分为第一组事务请求和第二组事务请求;针对所述第一组事务请求中各事务请求,向所述数据库服务器发送提交请求,以由所述数据库服务器执行相应的提交操作;针对所述第二组事务请求中各事务请求,向所述数据库服务器发送回滚请求,以由所述数据库服务器执行相应的回滚操作。7.根据权利要求6所述的方法,其中,根据第二预设比例,从所述多...

【专利技术属性】
技术研发人员:陈荣耀
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1