一种分布式数据库性能故障的定位方法技术

技术编号:14903820 阅读:74 留言:0更新日期:2017-03-29 19:03
本发明专利技术提供一种分布式数据库性能故障的定位方法,获取用户发出的SQL语句并定位SQL语句;在分布式数据库的节点中查找出存在性能故障的问题节点;比较问题节点与非问题节点的SQL语句的执行计划;查找并判断问题节点的资源使用情况;判断是否完成全部的问题节点的定位;检查并修正协调器的性能。本发明专利技术提出的方法极大的缩短了在分布式数据库环境下性能故障定位的时间,实现了对性能故障的有效且准确可靠地定位,进而减少了维护时间与成本,提高了分布式数据库的运行稳定性。

【技术实现步骤摘要】

本专利技术涉及数据库优化领域,具体涉及一种分布式数据库性能故障的定位方法。
技术介绍
近年来随着互联网和移动互联网的发展,企业存储的数据量成几何级数的增加,传统的数据库存储数据的方式变得越来越不实用,新的数据存储架构被专利技术出来。分布式数据库存储架构师对传统单节点数据库的一种扩展,允许数据在更多节点上存储,同时对系统的业务逻辑不会产生太大的影响,是很多企业优先选择的一种大数据存储和处理的解决方案。但是分布式数据库架构给运维人员带来了更多维护上的问题,最突出的一个就是分布式数据库性能问题的定位,由于用户的查询请求发生在多个数据库节点,当出现性能问题时,需要在多个节点上进行问题定位,这要比单台数据库上性能定位困难的多,这对于DBA来说,是一个很大的挑战,当MPP的节点越多,这种故障定位会越困难,目前行业里对于分布式数据库的性能定位方法研究很少。因此,如何设计一种能有效定位分布式数据库性能故障的方法,是亟待解决的问题。
技术实现思路
有鉴于此,本专利技术提供的一种分布式数据库性能故障的定位方法,该方法极大的缩短了在分布式数据库环境下性能故障定位的时间,实现了对性能故障的有效且准确可靠地定位,进而减少了维护时间与成本,提高了分布式数据库的运行稳定性。本专利技术的目的是通过以下技术方案实现的:一种分布式数据库性能故障的定位方法,所述方法包括如下步骤:步骤1.获取用户发出的SQL语句并定位所述SQL语句;步骤2.在分布式数据库的节点中查找出存在性能故障的问题节点;步骤3.比较所述问题节点与非问题节点的所述SQL语句的执行计划;若所述执行计划不同,则修正性能故障,完成分布式数据库性能故障的定位;若所述执行计划相同,进入步骤4;步骤4.查找并判断所述问题节点的资源使用情况;若资源使用情况没有资源问题,则进入步骤5;若资源使用情况存在资源问题,则修正资源问题,完成分布式数据库性能故障的定位;步骤5.判断是否完成全部的问题节点的定位;若否,则返回步骤2;若是,则检查并修正协调器的性能,完成分布式数据库性能故障的定位。优选的,所述步骤1包括:1-1.用户发出反馈操作问题的SQL语句;1-2.从协调器日志中获取所述SQL语句;1-3.分别登录到分布式数据库集群的每一台数据库,定位所述SQL语句。优选的,所述步骤2包括:2-1.用脚本的方式在分布式数据库的全部节点中查找出存在性能故障的问题节点;2-2.在所述问题节点上查看所述SQL语句的执行计划。优选的,所述步骤4包括:4-1.查找并判断所述问题节点的资源使用情况;若资源使用情况没有资源问题,则进入4-2;若资源使用情况存在资源问题,则修正资源问题,完成分布式数据库性能故障的定位;4-2.出具整体性能分析报告,并进入步骤5。优选的,若当前分布式数据库的业务类型为OLTP,则所述4-1包括:a.在业务类型为OLTP的当前分布式数据库中,查看所述问题节点的CPU、并发数指标及内存使用情况;b.根据操作系统级别确定所述问题节点的资源使用情况是否存在资源问题;若否,则进入4-2;若是,则修正资源问题,完成分布式数据库性能故障的定位。优选的,若当前分布式数据库的业务类型为OLAP,则所述4-1包括:c.在业务类型为OLAP的当前分布式数据库中,查看所述问题节点的磁盘IO、网络IO及内存使用情况;d.在操作系统中确定所述问题节点的资源使用情况是否存在资源问题;若否,则进入4-2;若是,则修正资源问题,完成分布式数据库性能故障的定位。优选的,若当前分布式数据库的业务类型为OLTP与OLAP的混合型,则所述4-1包括:e.在业务类型为OLTP与OLAP的混合型的当前分布式数据库中,比较所述问题节点的OLTP与OLAP资源占用量;若OLTP的资源占用量大于OLAP的资源占用量,则进入f;若OLAP的资源占用量大于OLTP的资源占用量,则进入h;f.在业务类型为OLTP的当前分布式数据库中,查看所述问题节点的CPU、并发数指标及内存使用情况;g.根据操作系统级别确定所述问题节点的资源使用情况是否存在资源问题;若否,则进入4-2;若是,则修正资源问题,完成分布式数据库性能故障的定位。h.在业务类型为OLAP的当前分布式数据库中,查看所述问题节点的磁盘IO、网络IO及内存使用情况;i.在操作系统中确定所述问题节点的资源使用情况是否存在资源问题;若否,则进入4-2;若是,则修正资源问题,完成分布式数据库性能故障的定位。优选的,所述步骤5包括:5-1.判断是否完成全部的问题节点的定位;若否,则返回步骤2;若是,则进入5-2;5-2.查看协调器日志来获取协调器在合并汇总数据时的效率;5-3.根据所述协调器在合并汇总数据时的效率值,得到所述协调器的性能;5-4.判断所述协调器的性能;若所述协调器存在性能问题,则修正优化性能问题,完成分布式数据库性能故障的定位,;若所述协调器未存在性能问题,则判断为用户方的网络故障。从上述的技术方案可以看出,本专利技术提供了一种分布式数据库性能故障的定位方法,获取用户发出的SQL语句并定位SQL语句;在分布式数据库的节点中查找出存在性能故障的问题节点;比较问题节点与非问题节点的SQL语句的执行计划;查找并判断问题节点的资源使用情况;判断是否完成全部的问题节点的定位;检查并修正协调器的性能。本专利技术提出的方法极大的缩短了在分布式数据库环境下性能故障定位的时间,实现了对性能故障的有效且准确可靠地定位,进而减少了维护时间与成本,提高了分布式数据库的运行稳定性。与最接近的现有技术比,本专利技术提供的技术方案具有以下优异效果:1、本专利技术所提供的技术方案中,获取用户发出的SQL语句并定位SQL语句;在分布式数据库的节点中查找出存在性能故障的问题节点;比较问题节点与非问题节点的SQL语句的执行计划;查找并判断问题节点的资源使用情况;判断是否完成全部的问题节点的定位;检查并修正协调器的性能。极大的缩短了在分布式数据库环境下性能故障定位的时间。2、本专利技术所提供的技术方案,实现了对性能故障的有效且准确可靠地定位,进而减少了维护时间与成本,提高了分布式数据库的运行稳定性。3、本专利技术提供的技术方案,应用广泛,具有显著的社会效益和经济效益。附图说明图1是本专利技术的一种分布式数据库性能故障的定位方法的流程图;图2是本专利技术的定位方法中步骤1的流程示意图;图3是本专利技术的定位方法中步骤2的流程示意图;图4是本专利技术的定位方法中步骤4的流程示意图;图5是本专利技术的定位方法中步骤5的流程示意图;图6是本专利技术的一种分布式数据库性能故障的定位方法的具体应用例中的定位流程示意图;图7是是本专利技术的具体应用例中的优化流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,本专利技术提供一种分布式数据库性能故障的定位方法,包括如下步骤:步骤1.获取用户发出的SQL语句并定位SQL语句;步骤2.在分布式数据库的节点中查找出存在性能故障的问题节点;步骤3.比较问题节点与非问题节点的SQL语句的执行计划;若执行计划不同本文档来自技高网...

【技术保护点】
一种分布式数据库性能故障的定位方法,其特征在于,所述方法包括如下步骤:步骤1.获取用户发出的SQL语句并定位所述SQL语句;步骤2.在分布式数据库的节点中查找出存在性能故障的问题节点;步骤3.比较所述问题节点与非问题节点的所述SQL语句的执行计划;若所述执行计划不同,则修正性能故障,完成分布式数据库性能故障的定位;若所述执行计划相同,进入步骤4;步骤4.查找并判断所述问题节点的资源使用情况;若资源使用情况没有资源问题,则进入步骤5;若资源使用情况存在资源问题,则修正资源问题,完成分布式数据库性能故障的定位;步骤5.判断是否完成全部的问题节点的定位;若否,则返回步骤2;若是,则检查并修正协调器的性能,完成分布式数据库性能故障的定位。

【技术特征摘要】
1.一种分布式数据库性能故障的定位方法,其特征在于,所述方法包括如下步骤:步骤1.获取用户发出的SQL语句并定位所述SQL语句;步骤2.在分布式数据库的节点中查找出存在性能故障的问题节点;步骤3.比较所述问题节点与非问题节点的所述SQL语句的执行计划;若所述执行计划不同,则修正性能故障,完成分布式数据库性能故障的定位;若所述执行计划相同,进入步骤4;步骤4.查找并判断所述问题节点的资源使用情况;若资源使用情况没有资源问题,则进入步骤5;若资源使用情况存在资源问题,则修正资源问题,完成分布式数据库性能故障的定位;步骤5.判断是否完成全部的问题节点的定位;若否,则返回步骤2;若是,则检查并修正协调器的性能,完成分布式数据库性能故障的定位。2.如权利要求1所述的方法,其特征在于,所述步骤1包括:1-1.用户发出反馈操作问题的SQL语句;1-2.从协调器日志中获取所述SQL语句;1-3.分别登录到分布式数据库集群的每一台数据库,定位所述SQL语句。3.如权利要求1所述的方法,其特征在于,所述步骤2包括:2-1.用脚本的方式在分布式数据库的全部节点中查找出存在性能故障的问题节点;2-2.在所述问题节点上查看所述SQL语句的执行计划。4.如权利要求1所述的方法,其特征在于,所述步骤4包括:4-1.查找并判断所述问题节点的资源使用情况;若资源使用情况没有资源问题,则进入4-2;若资源使用情况存在资源问题,则修正资源问题,完成分布式数据库性能故障的定位;4-2.出具整体性能分析报告,并进入步骤5。5.如权利要求4所述的方法,其特征在于,若当前分布式数据库的业务类型为OLTP,则所述4-1包括:a.在业务类型为OLTP的当前分布式数据库中,查看所述问题节点的CPU、并发数指标及内存使用情况;b.根据操作系统级别确定所述问题节点的资源使用情况是否存在资源问题;若否,则进入4-2;若是,则修正资源问题,完...

【专利技术属性】
技术研发人员:谭怀远朱春鸽宋东力刘炎曹玮李正民周润林李焱黄道超
申请(专利权)人:长安通信科技有限责任公司国家计算机网络与信息安全管理中心
类型:发明
国别省市:北京;11

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

1