System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机领域,特别是涉及分布式服务的性能剖析方法、系统和存储介质。
技术介绍
1、性能剖析是指通过记录硬件或软件指标,如函数调用频率、执行时间和资源使用情况等,来分析程序的运行时行为,进而精准地定位性能瓶颈、内存泄露或者其他效率问题。现有的性能分析工具仅能实现单机的性能分析,无法应对多样化、分布式的工作负载。
2、目前针对相关技术中性能剖析难以适应大规模分布式服务的问题,尚未提出有效的解决方案。
技术实现思路
1、本申请实施例提供了一种分布式服务的性能剖析方法、系统和存储介质,以至少解决相关技术中性能剖析难以适应大规模分布式服务的问题。
2、第一方面,本申请实施例提供了一种分布式服务的性能剖析方法,应用于控制器;所述分布式服务包括多个工作节点,且各所述工作节点分别部署有本地剖析器;所述本地剖析器连接所述控制器;所述方法包括:
3、接收各所述本地剖析器采集的针对所述工作节点的堆栈跟踪数据,并对所述堆栈跟踪数据进行聚合处理,得到聚合堆栈数据;
4、根据所述聚合堆栈数据生成目标火焰图,并基于所述目标火焰图生成针对所述分布式服务的目标性能剖析结果。
5、在其中一些实施例中,所述方法还包括:
6、获取所述本地剖析器在第一采样频率下的第一堆栈跟踪数据,并根据所述第一堆栈跟踪数据,生成第一目标火焰图,基于所述第一目标火焰图生成第一性能剖析结果;其中,所述第一采样频率高于预设的采样频率;
7、基于所述第一性
8、在其中一些实施例中,所述生成第二性能剖析结果之后,所述方法还包括:
9、基于所述第一性能剖析结果和所述第二性能剖析结果进行相似度计算,得到相似度结果;
10、在检测到所述相似度结果小于预设的相似度阈值的情况下,将所述第一性能剖析结果作为所述目标性能剖析结果。
11、在其中一些实施例中,所述接收各所述本地剖析器采集的针对所述工作节点上的堆栈跟踪数据,包括:
12、接收各所述本地剖析器发送的初始火焰图;其中,所述初始火焰图是由所述本地剖析器根据所述堆栈跟踪数据生成的;
13、对所述初始火焰图进行解析,得到所述堆栈跟踪数据。
14、在其中一些实施例中,所述本地剖析器还包括代理器和采集内核;所述初始火焰图是由所述采集内核采集所述堆栈跟踪数据,并由所述代理器对所述堆栈跟踪数据进行处理生成的。
15、在其中一些实施例中,所述采集内核的数量有多个;所述接收各所述本地剖析器发送的初始火焰图,包括:
16、检测所述分布式服务的运行信息,并基于所述运行信息,从各所述采集内核中确定对应的目标内核;其中,所述代理器对所述目标内核采集的所述堆栈跟踪数据进行处理,并生成所述初始火焰图。
17、第三方面,本申请提供了一种分布式服务的性能剖析方法,应用于本地剖析器;其中,所述分布式服务包括多个工作节点,且各所述工作节点分别部署有本地剖析器;所述方法包括:
18、采集针对所述工作节点上的堆栈跟踪数据;
19、将所述堆栈跟踪数据发送至控制器;其中,所述控制器对所述堆栈跟踪数据进行聚合处理,得到聚合堆栈数据;根据所述聚合堆栈数据生成目标火焰图,并基于所述目标火焰图生成针对所述分布式服务的目标性能剖析结果。
20、在其中一些实施例中,所述采集针对所述工作节点上的堆栈跟踪数据,包括:
21、利用多个线程对所述分布式服务进行堆栈跟踪采样处理,并基于线程样本数量,对所述线程进行修剪处理,得到所述线程中的目标线程;
22、获取所述目标线程采样得到的所述堆栈跟踪数据。
23、第三方面,本申请实施例提供了一种分布式服务的性能剖析系统,所述分布式服务包括多个工作节点;所述性能剖析系统包括:
24、本地剖析器,部署于对应的所述工作节点,用于采集所述工作节点上的堆栈跟踪数据;
25、控制器,用于接收各所述本地剖析器发送的所述堆栈跟踪数据,并对所述堆栈跟踪数据进行聚合处理,得到聚合堆栈数据;
26、所述控制器还用于根据所述聚合堆栈数据生成目标火焰图,并基于所述目标火焰图生成针对所述分布式服务的目标性能剖析结果。
27、在其中一些实施例中,所述性能剖析系统还包括:
28、监控服务器,用于接收所述本地剖析器发送的热点函数指标;其中,所述热点函数指标是由所述本地剖析器基于所述堆栈跟踪数据计算生成的;
29、所述监控服务器还用于基于所述热点函数指标,生成针对所述分布式服务中各热点函数的跟踪存储数据。
30、第四方面,本申请实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行如上述第一方面或第二方面所述的分布式服务的性能剖析方法。
31、相比于相关技术,本申请实施例提供的分布式服务的性能剖析方法、系统和存储介质,分布式服务包括多个工作节点,且各工作节点分别部署有本地剖析器;性能剖析方法包括:接收各本地剖析器采集的针对工作节点上的堆栈跟踪数据,并对堆栈跟踪数据进行聚合处理,得到聚合堆栈数据;根据聚合堆栈数据生成目标火焰图,并基于目标火焰图生成针对分布式服务的目标性能剖析结果。通过上述方法,能够利用剖析工具开展低成本和非侵入式的热点功能剖析;并且,不同于传统工具只为单个实例生成火焰图,本专利技术通过跨所有实例聚合火焰图,有效地准确定位真正的热点函数,而不仅限于库函数的剖析,从而在容器化和分布式环境中以非侵入式的方式实现了高通用性、高准确性和低成本的性能剖析,有效解决了性能剖析难以适应大规模分布式服务的问题。
32、本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
本文档来自技高网...【技术保护点】
1.一种分布式服务的性能剖析方法,其特征在于,应用于控制器;所述分布式服务包括多个工作节点,且各所述工作节点分别部署有本地剖析器;所述本地剖析器连接所述控制器;所述方法包括:
2.根据权利要求1所述的性能剖析方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的性能剖析方法,其特征在于,所述生成第二性能剖析结果之后,所述方法还包括:
4.根据权利要求1至3任一项所述的性能剖析方法,其特征在于,所述接收各所述本地剖析器采集的针对所述工作节点上的堆栈跟踪数据,包括:
5.根据权利要求4所述的性能剖析方法,其特征在于,所述本地剖析器还包括代理器和采集内核;所述初始火焰图是由所述采集内核采集所述堆栈跟踪数据,并由所述代理器对所述堆栈跟踪数据进行处理生成的。
6.根据权利要求5所述的性能剖析方法,其特征在于,所述采集内核的数量有多个;所述接收各所述本地剖析器发送的初始火焰图,包括:
7.一种分布式服务的性能剖析方法,其特征在于,应用于本地剖析器;其中,所述分布式服务包括多个工作节点,且各所述工作节点分别部署有本地
8.根据权利要求7所述的性能剖析方法,其特征在于,所述采集针对所述工作节点上的堆栈跟踪数据,包括:
9.一种分布式服务的性能剖析系统,其特征在于,所述分布式服务包括多个工作节点;所述性能剖析系统包括:
10.根据权利要求9所述的性能剖析系统,其特征在于,所述性能剖析系统还包括:
11.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1-8任一项所述的分布式服务的性能剖析方法。
...【技术特征摘要】
1.一种分布式服务的性能剖析方法,其特征在于,应用于控制器;所述分布式服务包括多个工作节点,且各所述工作节点分别部署有本地剖析器;所述本地剖析器连接所述控制器;所述方法包括:
2.根据权利要求1所述的性能剖析方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的性能剖析方法,其特征在于,所述生成第二性能剖析结果之后,所述方法还包括:
4.根据权利要求1至3任一项所述的性能剖析方法,其特征在于,所述接收各所述本地剖析器采集的针对所述工作节点上的堆栈跟踪数据,包括:
5.根据权利要求4所述的性能剖析方法,其特征在于,所述本地剖析器还包括代理器和采集内核;所述初始火焰图是由所述采集内核采集所述堆栈跟踪数据,并由所述代理器对所述堆栈跟踪数据进行处理生成的。
6.根据权利要求5所述的性...
【专利技术属性】
技术研发人员:杨定裕,张东祥,谢钟乐,陈珂,寿黎但,李环,
申请(专利权)人:杭州高新区滨江区块链与数据安全研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。