System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机及金融科技领域,应用于针对金融科技相关行业的业务web应用程序进行sql性能监控的场景中,尤其涉及一种sql性能监控方法、装置、计算机设备及存储介质。
技术介绍
1、目前,随着金融科技的发展,在其相关行业中,各种各样的业务web应用程序层出不穷,这也导致了这些业务web应用程序所对应的业务sql(structured query language,结构化查询语言)较为复杂且难以理解。
2、因此,在高并发的情况下,此类业务web应用程序比较容易产生性能问题,而由于金融科技的相关行业对于业务web应用程序性能的要求较为严格,所以需要测试人员或者开发人员及时地对产生的性能问题进行分析和处理。
3、传统的解决方案中,测试人员或者开发人员需要等待某项业务完成之后,再对业务web应用程序的业务sql或者日志记录进行查看,以对sql性能进行监控,确定是否存在性能问题。然而,这种方式存在一定的滞后性,既无法实现sql性能的实时监控,也无法实现性能问题的快速定位,导致sql性能监控的效率较低。
技术实现思路
1、本申请实施例的目的在于提出一种sql性能监控方法、装置、计算机设备及存储介质,以解决针对金融科技相关行业的业务web应用程序进行sql性能监控时效率较低的技术问题。
2、为了解决上述技术问题,本申请实施例提供一种sql性能监控方法,采用了如下所述的技术方案:
3、一种sql性能监控方法,包括下述步骤:
4、通过预配置
5、通过预配置的sql全局拦截器拦截每个所述会话请求对应的任一sql语句,并确定每个所述sql语句对应的日志信息;
6、将每个所述会话请求的唯一标识和对应的日志信息关联,并按照线程变量进行存储,得到信息库;
7、当接收到携带有目标唯一标识的查询请求时,根据所述目标唯一标识在所述信息库中查询关联的目标日志信息;
8、将所述目标日志信息传输至所述查询请求对应的目标用户端,以使得所述目标用户端展示所述目标日志信息。
9、进一步的,所述将每个所述会话请求的唯一标识和对应的日志信息关联,并按照线程变量进行存储,得到信息库的步骤,具体包括:
10、开启每个所述会话请求对应的线程,并在所述线程中创建threadlocal对象,根据所述threadlocal对象关联所述唯一标识和所述日志信息;
11、建立所述信息库,并将各个所述线程存储至所述信息库。
12、进一步的,所述信息库包括缓存层和持久层,所述建立所述信息库,并将各个所述线程存储至所述信息库的步骤,具体包括:
13、建立所述信息库,依次将各个所述线程缓存至所述缓存层,并实时检测所述缓存层中的线程数量;
14、当所述线程数量大于预设阈值时,将所述缓存层中的所有线程转存至所述持久层。
15、进一步的,所述通过预配置的sql全局拦截器拦截每个所述会话请求对应的任一sql语句,并确定每个所述sql语句对应的日志信息的步骤,具体包括:
16、根据所述sql全局拦截器对每个所述sql语句进行解析和参数赋值,确定每个所述sql语句对应的实际运行语句和执行时间;
17、将所述实际运行语句和所述执行时间作为所述日志信息。
18、进一步的,所述sql性能监控方法应用于服务器,在所述通过预配置的web应用全局拦截器拦截目标web应用程序的每个会话请求,并记录每个所述会话请求的唯一标识的步骤之前,还包括:
19、在所述服务器配置所述web应用全局拦截器,并配置当前orm框架对应的所述sql全局拦截器,所述当前orm框架包括mybatis、hibernate、srping jdbctemplate以及mongotemplate。
20、进一步的,其特征在于,所述将所述目标日志信息传输至所述查询请求对应的目标用户端,以使得所述目标用户端展示所述目标日志信息的步骤,具体包括:
21、对所述目标日志信息进行数据清洗,得到可视化数据;
22、将所述可视化数据发送至所述目标用户端,以使得所述目标用户端根据所述可视化数据生成可视化页面并展示。
23、进一步的,在所述对所述目标日志信息进行数据清洗,得到可视化数据的步骤之后,还包括:
24、根据所述可视化数据和预设通知模板,生成所述查询请求对应的通知邮件;
25、将所述通知邮件发送至预设邮箱。
26、为了解决上述技术问题,本申请实施例还提供一种sql性能监控装置,采用了如下所述的技术方案:
27、一种sql性能监控装置,包括:
28、第一拦截模块,用于通过预配置的web应用全局拦截器拦截目标web应用程序的每个会话请求,并记录每个所述会话请求的唯一标识;
29、第二拦截模块,用于通过预配置的sql全局拦截器拦截每个所述会话请求对应的任一sql语句,并确定每个所述sql语句对应的日志信息;
30、关联存储模块,用于将每个所述会话请求的唯一标识和对应的日志信息关联,并按照线程变量进行存储,得到信息库;
31、查询模块,用于当接收到携带有目标唯一标识的查询请求时,根据所述目标唯一标识在所述信息库中查询关联的目标日志信息;
32、传输模块,用于将所述目标日志信息传输至所述查询请求对应的目标用户端,以使得所述目标用户端展示所述目标日志信息。
33、为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
34、一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上所述的sql性能监控方法的步骤。
35、为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
36、一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的sql性能监控方法的步骤。
37、与现有技术相比,本申请实施例主要有以下有益效果:
38、本申请公开的sql性能监控方法,通过预配置的web应用全局拦截器拦截目标web应用程序的每个会话请求,并记录每个所述会话请求的唯一标识;而后通过预配置的sql全局拦截器拦截每个所述会话请求对应的任一sql语句,并确定每个所述sql语句对应的日志信息;再将每个所述会话请求的唯一标识和对应的日志信息关联,并按照线程变量进行存储,得到信息库;当接收到携带有目标唯一标识的查询请求时,根据所述目标唯一标识在所述信息库中查询关联的目标日志信息;将所述目标日志信息传输至所述查询请求对应的目标用户端,以使得所述目标用户端展示所述目标日本文档来自技高网...
【技术保护点】
1.一种SQL性能监控方法,其特征在于,包括下述步骤:
2.根据权利要求1所述的SQL性能监控方法,其特征在于,所述将每个所述会话请求的唯一标识和对应的日志信息关联,并按照线程变量进行存储,得到信息库的步骤,具体包括:
3.根据权利要求2所述的SQL性能监控方法,其特征在于,所述信息库包括缓存层和持久层,所述建立所述信息库,并将各个所述线程存储至所述信息库的步骤,具体包括:
4.根据权利要求1所述的SQL性能监控方法,其特征在于,所述通过预配置的SQL全局拦截器拦截每个所述会话请求对应的任一SQL语句,并确定每个所述SQL语句对应的日志信息的步骤,具体包括:
5.根据权利要求1所述的SQL性能监控方法,其特征在于,所述SQL性能监控方法应用于服务器,在所述通过预配置的Web应用全局拦截器拦截目标Web应用程序的每个会话请求,并记录每个所述会话请求的唯一标识的步骤之前,还包括:
6.根据权利要求1至5任一项所述的SQL性能监控方法,其特征在于,所述将所述目标日志信息传输至所述查询请求对应的目标用户端,以使得所述目标用户端展
7.根据权利要求6所述的SQL性能监控方法,其特征在于,在所述对所述目标日志信息进行数据清洗,得到可视化数据的步骤之后,还包括:
8.一种SQL性能监控装置,其特征在于,包括:
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的SQL性能监控方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的SQL性能监控方法的步骤。
...【技术特征摘要】
1.一种sql性能监控方法,其特征在于,包括下述步骤:
2.根据权利要求1所述的sql性能监控方法,其特征在于,所述将每个所述会话请求的唯一标识和对应的日志信息关联,并按照线程变量进行存储,得到信息库的步骤,具体包括:
3.根据权利要求2所述的sql性能监控方法,其特征在于,所述信息库包括缓存层和持久层,所述建立所述信息库,并将各个所述线程存储至所述信息库的步骤,具体包括:
4.根据权利要求1所述的sql性能监控方法,其特征在于,所述通过预配置的sql全局拦截器拦截每个所述会话请求对应的任一sql语句,并确定每个所述sql语句对应的日志信息的步骤,具体包括:
5.根据权利要求1所述的sql性能监控方法,其特征在于,所述sql性能监控方法应用于服务器,在所述通过预配置的web应用全局拦截器拦截目标web应用程序的每个会话请求,并记录每个所述会话请求的唯一...
【专利技术属性】
技术研发人员:刘灿,
申请(专利权)人:中国平安财产保险股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。