System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于Kubernetes的数据库性能测试方法及系统技术方案_技高网

基于Kubernetes的数据库性能测试方法及系统技术方案

技术编号:41467783 阅读:17 留言:0更新日期:2024-05-30 14:22
本发明专利技术提供一种基于Kubernetes的数据库性能测试方法及系统,所述方法包括:通过测试工具创建m个测试任务,下发测试请求至Kubernetes集群系统,其中,每一个所述测试任务中包含n组测试参数,n和m均为正整数;Kubernetes集群系统根据所述测试请求容器化部署数据库服务,测试工具下发所述测试任务至对应的数据库;Kubernetes集群系统根据所述数据库服务、目标单元和节点负载的相关信息,动态调整接受测试任务的数据库服务的数量,其中所述数据库服务的数量上限为N,1≤N≤m;所述测试工具接收调整后的所述数据库服务返回的m×n组执行结果,并根据所述执行结果生成数据库性能的m×n组测试结果;本发明专利技术降低了数据库性能测试任务的管理复杂度,并提高了测试效率。

【技术实现步骤摘要】

本专利技术涉及计算机,尤其涉及数据库性能的测试方法,特别是一种基于kubernetes的数据库性能测试方法及系统。


技术介绍

1、在信息化高速发展的时代,随着数据量的快速增长,应用对数据库的性能要求也不断提升。面对海量的数据入库,数据库的可靠性和稳定性等表现尤为关键,通过数据库性能测试调整应用配置,改善数据库响应速度以及高负载运行能力,提升应用系统的整体性能具有重要作用。

2、数据库性能测试如压力测试、稳定性测试等对数据库的配置参数要求严格,性能测试不仅工作量较大且容易因性能不足而造成性能测试任务失败,现有技术中,需要预先准备待测数据库,无法实现根据测试任务数量以及数据库负载状态进行自动调整待测数据库数量,手动操作的方法管理较为不便。


技术实现思路

1、本专利技术的目的在于提供一种基于kubernetes的数据库性能测试方法及系统,用于解决现有技术中数据库性能测试管理复杂且效率低的问题。

2、第一方面,本专利技术提供一种基于kubernetes的数据库性能测试方法,所述方法包括:

3、通过测试工具创建m个测试任务,下发测试请求至kubernetes集群系统,其中,每一个所述测试任务中包含n组测试参数,n和m均为正整数;

4、kubernetes集群系统根据所述测试请求容器化部署数据库服务,所述测试工具下发所述测试任务至对应的数据库;

5、所述kubernetes集群系统根据所述数据库服务、目标单元和节点负载的相关信息,动态调整接受测试任务的数据库服务的数量,其中所述数据库服务的数量上限为n,1≤n≤m;

6、所述测试工具接收调整后的所述数据库服务返回的m×n组执行结果,并根据所述执行结果生成数据库性能的m×n组测试结果。

7、本专利技术中,在数据库性能测试的过程中,通过动态调整接收测试任务的数据库服务的数量,降低了数据库性能测试任务的管理复杂度,以及多线程并发测试提高了数据库性能测试任务的效率。

8、在第一方面的一种实现方式中,所述测试参数包括数据库服务的类型信息、版本信息、用户身份信息、系统配置参数、ip地址、容器化部署信息、负载参数、数据库所在的所述目标单元和节点的负载参数。

9、在第一方面的一种实现方式中,所述kubernetes集群系统根据所述测试请求容器化部署数据库服务,所述测试工具下发所述测试任务至对应的数据库,包括:

10、所述测试工具根据所述测试参数识别符合要求的数据库;

11、在确定所述kubernetes集群系统中存在至少一个数据库符合所述测试请求中的测试参数要求之后,所述测试工具下发所述测试任务至所述数据库;

12、在确定所述kubernetes集群系统中不存在符合要求的所述数据库之后,所述测试工具根据所述测试参数中的数据库部署方式下发数据库部署脚本至所述kubernetes集群系统中;

13、所述kubernetes集群系统执行所述数据库部署脚本对应部署数据库。

14、在第一方面的一种实现方式中,所述kubernetes集群系统根据所述数据库服务、目标单元和节点负载的相关信息,动态调整接受测试任务的数据库服务的数量,包括:

15、在所述数据库执行所述测试任务的过程中,所述kubernetes集群系统监测每一个正在执行所述测试任务的所述数据库的负载状态是否超标;

16、在确定正在执行所述测试任务的所述数据库的负载状态未超标之后,所述kubernetes集群系统监测所述目标单元的负载是否超过第一设定值;

17、在确定所述目标单元的负载未超过第一设定值之后,所述kubernetes集群系统监测所述节点的负载是否超出第二设定值;

18、在确定所述节点的负载是否超出第二设定值之后,所述kubernetes集群系统检测所有所述测试任务是否成功接收并执行;

19、在确定所有的所述测试任务成功接收并执行之后,完成测试。

20、在第一方面的一种实现方式中,所述方法还包括:

21、在确定正在执行所述测试任务的所述数据库的负载状态超标之后;

22、所述kubernetes集群系统发送数据库负载超标的信息至所述测试工具;

23、所述测试工具提前终止第m个所述测试任务,并在第m个所述测试任务主动结束前,停止下发测试任务至负载状态超标的所述数据库;

24、所述测试工具根据所述测试任务中的测试参数下发数据库部署脚本至所述kubernetes集群系统,所述kubernetes集群系统根据所述数据库部署脚本创建新的数据库;

25、所述测试工具下发其余的所述测试任务至创建的所述数据库,并重新监测创建的所述数据库的负载状态是否超标。

26、在第一方面的一种实现方式中,所述方法还包括:

27、在确定所述目标单元的负载超过第一设定值之后,所述kubernetes集群系统触发自动扩容机制并创建新的目标单元,新创建的所述目标单元与初始的所述目标单元所包含的数据库服务一致;

28、所述测试工具逐个终止初始的所述目标单元对应的数据库上的测试任务,以满足所述目标单元的负载状态要求;

29、所述测试工具将被终止的所述测试任务下发至新创建的所述目标单元中的数据库中,直至所有的所述测试任务成功接收执行完毕后,性能测试任务结束。

30、在第一方面的一种实现方式中,所述方法还包括:

31、在确定所述节点的负载超出第二设定值之后,所述kubernetes集群系统通过调度算法为当前的所述目标单元选择最优节点,并将所述目标单元调度至所述最优节点,其中,所述目标单元对应的所述数据库中正在执行的所述测试任务正常进行;

32、在所述最优节点上创建新的数据库服务,并将当前负载超过第二设定值的所述节点停止创建数据库服务器,并将所述测试任务下发至所述最优节点上创建符合测试参数要求的的数据库,直至所有的所述测试任务成功接收执行完毕后,性能测试任务结束。

33、在第一方面的一种实现方式中,所述方法还包括:

34、在所有的所述测试任务未被成功接收执行之后,所述测试工具下发所述测试任务至符合参数要求的所述数据库中进行测试。

35、在第一方面的一种实现方式中,在n个所述数据库服务中,每一个所述测试任务有且仅有一个所述数据库服务接收并执行结束,且第一个数据库服务最少接收1个测试任务,最多接收m个测试任务,第n个数据库服务最少接收1个测试任务,最多接收m-1个测试任务。

36、第二方面,本专利技术提供一种基于kubernetes的数据库性能测试系统,所述系统包括存储模块、控制模块、调度模块、接口模块、代理模块、应用模块、网络模块,其中:

37、存储模块,用于通过分布式存储方式实现数据共享和持久化存储,以实现共享配置和服务发现,保存kubernetes集群系统的状本文档来自技高网...

【技术保护点】

1.一种基于Kubernetes的数据库性能测试方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于Kubernetes的数据库性能测试方法,其特征在于,所述测试参数包括数据库服务的类型信息、版本信息、用户身份信息、系统配置参数、IP地址、容器化部署信息、负载参数、数据库所在的所述目标单元和节点的负载参数。

3.根据权利要求1所述的基于Kubernetes的数据库性能测试方法,其特征在于,所述Kubernetes集群系统根据所述测试请求容器化部署数据库服务,所述测试工具下发所述测试任务至对应的数据库,包括:

4.根据权利要求1所述的基于Kubernetes的数据库性能测试方法,其特征在于,所述Kubernetes集群系统根据所述数据库服务、目标单元和节点负载的相关信息,动态调整接受测试任务的数据库服务的数量,包括:

5.根据权利要求4所述的基于Kubernetes的数据库性能测试方法,其特征在于,所述方法还包括:

6.根据权利要求4所述的基于Kubernetes的数据库性能测试方法,其特征在于,所述方法还包括:

7.根据权利要求4所述的基于Kubernetes的数据库性能测试方法,其特征在于,所述方法还包括:

8.根据权利要求6或7所述的基于Kubernetes的数据库性能测试方法,其特征在于,所述方法还包括:

9.根据权利要求1所述的基于Kubernetes的数据库性能测试方法,其特征在于,在N个所述数据库服务中,每一个所述测试任务有且仅有一个所述数据库服务接收并执行结束,且第一个数据库服务最少接收1个测试任务,最多接收m个测试任务,第N个数据库服务最少接收1个测试任务,最多接收m-1个测试任务。

10.一种基于Kubernetes的数据库性能测试系统,其特征在于,所述系统包括存储模块、控制模块、调度模块、接口模块、代理模块、应用模块、网络模块,其中:

...

【技术特征摘要】

1.一种基于kubernetes的数据库性能测试方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于kubernetes的数据库性能测试方法,其特征在于,所述测试参数包括数据库服务的类型信息、版本信息、用户身份信息、系统配置参数、ip地址、容器化部署信息、负载参数、数据库所在的所述目标单元和节点的负载参数。

3.根据权利要求1所述的基于kubernetes的数据库性能测试方法,其特征在于,所述kubernetes集群系统根据所述测试请求容器化部署数据库服务,所述测试工具下发所述测试任务至对应的数据库,包括:

4.根据权利要求1所述的基于kubernetes的数据库性能测试方法,其特征在于,所述kubernetes集群系统根据所述数据库服务、目标单元和节点负载的相关信息,动态调整接受测试任务的数据库服务的数量,包括:

5.根据权利要求4所述的基于kubernetes的数据库性能测试方...

【专利技术属性】
技术研发人员:高瑞娟杨扬雷霖
申请(专利权)人:上海邮电设计咨询研究院有限公司
类型:发明
国别省市:

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

1