CN112948229A - 调度集群的性能确定方法、装置、计算机设备及存储介质 - Google Patents

调度集群的性能确定方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112948229A
CN112948229A CN202110281595.2A CN202110281595A CN112948229A CN 112948229 A CN112948229 A CN 112948229A CN 202110281595 A CN202110281595 A CN 202110281595A CN 112948229 A CN112948229 A CN 112948229A
Authority
CN
China
Prior art keywords
data
scheduling
task
unit
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110281595.2A
Other languages
English (en)
Inventor
吴培坚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN202110281595.2A priority Critical patent/CN112948229A/zh
Publication of CN112948229A publication Critical patent/CN112948229A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种调度集群的性能确定方法、装置、计算机设备及存储介质。所述方法包括:在待处理任务调度到调度集群中运行的过程中,采集所述待处理任务关联的单元任务的堵塞程度数据,所述待处理任务可以划分为多个单元任务;根据各所述单元任务的堵塞程度数据,在所述调度集群中确定待采集数据的调度节点;获取所述待采集数据的调度节点的运行数据,并确定所述调度集群的性能分析结果。本发明实施例可以减少采集量,以及减少人工处理成本,提高分析效率。

Description

调度集群的性能确定方法、装置、计算机设备及存储介质
技术领域
本发明实施例涉及数据处理领域,尤其涉及一种调度集群的性能确定方法、装置、计算机设备及存储介质。
背景技术
在大数据领域通常采用分布式计算引擎进行计算。然而随着数据的增长与变化,任务计算性能也会随之受到影响。提供对节点的处理性能进行自动化分析能力,对于构建高效、易用和可维护的大数据平台尤为重要。
实时任务的算力分析主要基于节点的中央处理器(Central Processing Unit,CPU)利用率。现有的性能分析需要人工观察背压情况,再登录各个计算节点使用分析工具查看内存、堆栈转储和CPU使用率等信息,其中,背压(back pressure),也叫“反压”,指的是下游系统处理过慢,导致上游系统阻塞的现象。
在这种方式中,分析过程需要频繁登录多台节点,存在重复操作,同时分析效率较差。
发明内容
本发明实施例提供一种调度集群的性能确定方法、装置、计算机设备及存储介质,可以减少采集量,以及减少人工处理成本,提高分析效率。
第一方面,本发明实施例提供了一种调度集群的性能确定方法,包括:
在待处理任务调度到调度集群中运行的过程中,采集所述待处理任务关联的单元任务的堵塞程度数据,所述待处理任务可以划分为多个单元任务;
根据各所述单元任务的堵塞程度数据,在所述调度集群中确定待采集数据的调度节点;
获取所述待采集数据的调度节点的运行数据,并确定所述调度集群的性能分析结果。
第二方面,本发明实施例还提供了一种调度集群的性能确定装置,包括:
堵塞程度数据获取模块,用于在待处理任务调度到调度集群中运行的过程中,采集所述待处理任务关联的单元任务的堵塞程度数据,所述待处理任务可以划分为多个单元任务;
待采集调度节点确定模块,用于根据各所述单元任务的堵塞程度数据,在所述调度集群中确定待采集数据的调度节点;
性能分析结果确定模块,用于获取所述待采集数据的调度节点的运行数据,并确定所述调度集群的性能分析结果。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序所述处理器执行所述程序时实现如本发明实施例中任一所述的调度集群的性能确定方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的调度集群的性能确定方法。
本发明实施例通过采集各单元任务的堵塞程度数据,在调度集群中确定一个待采集数据的调度节点,进行运行数据采集,并根据运行于该待采集数据的调度节点的运行数据,确定调度集群的性能分析结果,解决了现有技术中人工重复登录多台节点进行性能分析,导致分析效率差的问题,根据各任务单元确定调度节点,针对最能代表堵塞的调度节点进行分析,提高性能分析准确率,同时仅针对一个调度节点进行运行数据采集,减少采集数量,减少人工成本,提高分析效率。
附图说明
图1是本发明实施例一中的一种调度集群的性能确定方法的流程图;
图2a是本发明实施例二中的一种调度集群的性能确定方法的流程图;
图2b是本发明实施例二中的一种应用场景的示意图;
图2c是本发明实施例二中的一种调度集群的性能确定方法的流程图;
图3是本发明实施例三中的一种调度集群的性能确定装置的结构示意图;
图4是本发明实施例四中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一中的一种调度集群的性能确定方法的流程图,本实施例可适用于对调度集群进行性能分析的情况,该方法可以由本发明实施例提供的调度集群的性能确定装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成计算机设备中。如图1所示,本实施例的方法具体包括:
S110,在待处理任务调度到调度集群中运行的过程中,采集所述待处理任务关联的单元任务的堵塞程度数据,所述待处理任务可以划分为多个单元任务。
待处理任务可以是指需要分配资源去执行的任务。待处理任务可以是通用任务。调度集群包括多个调度节点,各节点共同配合完成待处理任务。调度集群用于将待处理任务分配到至少一个调度节点中运行。通常,调度集群可以将待处理任务划分为多个单元任务,并分配至少一个调度节点完成至少一个单元任务,最后将各调度节点的运行结果进行统计,得到待处理任务对应的运行结果。
示例性的,待处理任务可以是直播场景中图像处理任务;单元任务可以是图像处理任务中矩形计算任务。
单元任务的堵塞程度数据,用于描述执行该单元任务的线程的堵塞程度。示例性的,可以通过在单位时间(如50毫秒)内,为每个任务触发设定数量个(如100)堆栈跟踪,并将在内部方法调用中堆栈跟踪被阻塞的数量与堆栈总数之间的比值作为堵塞程度数据,从而通过数值范围0-1对堵塞程度数据进行量化,其中,数值越大代表当前执行线程阻塞程度越高;数值越小代表当前执行线程阻塞程度越低。
S120,根据各所述单元任务的堵塞程度数据,在所述调度集群中确定待采集数据的调度节点。
待采集数据的调度节点用于进行数据采集,以进行性能分析。可以理解的是,堵塞程度越高的单元任务,运行该单元任务的调度节点的性能越差,相应的,性能越差的调度节点越能表示调度集群的性能短板或者性能瓶颈。待采集数据的调度节点可以是指性能差的调度节点。根据各单元任务的堵塞程度,可以筛选出堵塞程度最高的单元任务,并确定运行该单元任务的调度节点,确定为待采集数据的调度节点。
S130,获取所述待采集数据的调度节点的运行数据,并确定所述调度集群的性能分析结果。
性能分析结果可以是指调度集群中调度节点的任务处理性能的评价结果。示例性的,性能分析结果可以包括调度集群中调度节点的任务处理效率和处理任务所需的资源等。可以通过调度节点中预先配置的采集模块,对待采集数据的调度节点的运行数据进行采集,并对采集得到的数据,进行统计和分析,确定调度集群的性能分析结果。
本发明实施例通过采集各单元任务的堵塞程度数据,在调度集群中确定一个待采集数据的调度节点,进行运行数据采集,并根据运行于该待采集数据的调度节点的运行数据,确定调度集群的性能分析结果,解决了现有技术中人工重复登录多台节点进行性能分析,导致分析效率差的问题,根据各任务单元确定调度节点,针对最能代表堵塞的调度节点进行分析,提高性能分析准确率,同时仅针对一个调度节点进行运行数据采集,减少采集数量,减少人工成本,提高分析效率。
实施例二
图2a为本发明实施例二中的一种调度集群的性能确定方法的流程图,本实施例以上述实施例为基础进行具体化。将根据各所述单元任务的堵塞程度数据,在所述调度集群中确定待采集数据的调度节点,具体化为:检测各所述单元任务的堵塞程度数据之间的差异数据;根据所述差异数据,在各所述单元任务中,确定目标单元任务;将执行所述目标单元任务的调度节点,确定为待采集数据的调度节点。
本实施例的方法具体包括:
S210,在待处理任务调度到调度集群中运行的过程中,采集所述待处理任务关联的单元任务的堵塞程度数据,所述待处理任务可以划分为多个单元任务。
本发明实施例中未详细介绍的描述可以参考上述实施例的描述。
在调度集群中,调度节点可以采用至少一个线程执行至少一个单元任务,一个线程用于执行一个单元任务。
S220,检测各所述单元任务的堵塞程度数据之间的差异数据。
差异数据用于评价单元任务的堵塞情况是否均衡。堵塞情况是否均衡相应表明调度节点的性能差的不同原因。示例性的,如果不均衡,则表明某个单元任务的处理代码或处理逻辑存在问题;如果均衡,则表明处理单元任务的各个调度节点的性能差不多,可能是由于资源分配不足等原因引起的。差异数据可以是指各单元任务的堵塞程度数据之间的差值,示例性的,差异数据为各单元任务的。
S230,根据所述差异数据,在各所述单元任务中,确定目标单元任务。
通常一个线程执行一个单元任务。根据差异数据,可以确定执行单元任务的各线程的堵塞均衡程度。根据各线程的堵塞均衡程度,查询最能表征调度集群性能的调度节点中线程执行的单元任务,确定为目标单元任务。示例性的,可以将堵塞程度最高的线程所执行的单元任务为目标单元任务。
可选的,所述根据所述差异数据,在各所述单元任务中,确定目标单元任务,包括:在确定所述差异数据小于等于设定差异阈值时,从各所述单元任务中,随机选择一个单元任务,确定为目标单元任务;在确定所述差异数据大于所述设定差异阈值时,在各所述单元任务中,查询堵塞源头任务,确定为目标单元任务。
差异数据小于等于设定差异阈值,表明各执行单元任务的线程的堵塞程度均衡。在均衡的情况下,执行任意一个单元任务的线程的性能相近,可以任意选择一个单元任务,确定为目标单元任务。差异数据大于设定差异阈值,表明各执行单元的线程的堵塞程度不均衡。堵塞源头任务可以是指引起堵塞的单元任务。由于堵塞是从下游节点传递到上游节点,从而在不均衡的情况下,可以针对各单元任务的上下游关系,找到源头的单元任务,也即堵塞源头任务,确定为目标单元任务。设定差异阈值可以根据统计数据确定,设定差异阈值在0-1范围内,示例性的,设定差异阈值可以为0.2。
查询堵塞源头任务具体可以为:获取处于多个流水线的上下游任务,可以先查询上游任务,根据各上游任务的堵塞程度数据,对各下游任务进行溯源。如果根据上游任务的堵塞程度,确定执行上游任务的线程空闲,则不对上游任务进行堵塞溯源。如果根据上游任务的堵塞程度数据,确定执行上游任务的线程堵塞(繁忙),则对上游任务进行堵塞溯源,查询上游任务堵塞的源头任务,并将该源头任务确定为堵塞源头任务。上游任务堵塞的源头任务,可以是指引起堵塞的下游任务,可以将堵塞的多个单元任务中,处于最下游的单元任务确定为源头任务,即根据该源头任务的下游任务的堵塞程度数据,确定执行该源头任务的下游任务的线程空闲。其中,可以根据单元任务的堵塞程度数据,将执行单元任务的线程划分为多个堵塞程度类型,示例性的,堵塞程度数据分别处于(0,0.2]、(0.2,0.8]和(0.8,1],相应的堵塞程度类型为轻度堵塞、中度堵塞和重度堵塞。其中,堵塞程度数据为0表明空闲,即不堵塞。此外,也可以将轻度堵塞划分为空闲。
通过根据差异数据和设定差异阈值之间的大小关系,确定选择目标单元任务的策略,可以针对不同堵塞分布情况,找到最能代表调度集群短板的调度节点所运行的单元任务,可以提高待采集数据的调度节点的代表性,同时提高采集数据的代表性,从而提高调度集群的性能分析准确性。
S240,将执行所述目标单元任务的调度节点,确定为待采集数据的调度节点。
S250,获取所述待采集数据的调度节点的运行数据,并确定所述调度集群的性能分析结果。
可选的,所述调度节点的运行数据包括所述调度节点中各线程的运行数据;所述确定所述调度集群的性能分析结果,包括:根据所述待采集数据的调度节点中各线程的运行数据,筛选出辅助线程和主线程,所述主线程用于执行单元任务,所述辅助线程用于辅助所述主线程执行单元任务;对各所述主线程的运行数据和各所述辅助线程的运行数据进行比较和分析,生成所述调度集群的性能分析结果。
在一个调度节点中,配置多个线程分别执行对应的单元任务。其中,在一个调度节点中,有的线程执行需求业务的核心任务,通常是待处理任务划分得到的单元任务,有的线程为执行核心任务的线程提供服务,也即辅助执行核心任务。将执行单元任务的线程确定为主线程,为主线程提供辅助功能的线程,例如,查询执行单元任务所需要的参数,也即执行非单元任务的线程确定为辅助线程。主线程的数量可以为至少一个,辅助线程的数量为至少一个。可选的,在一个调度节点中,配置一个主线程和与该主线程关联的多个辅助线程。
对各主线程的运行数据和各辅助线程的运行数据进行比较和分析,用于确定主线程和辅助线程之间的资源占比,以及处理效率的占比。可以理解的是,调度节点的性能是基于执行核心任务的主线程进行评估,通常调度节点将资源多分配给辅助线程,并少分配给主线程,可以表明调度节点的资源分配不合理,未有效利用资源,同时导致调度节点的性能下降。比较和分析结果可以确定调度节点是否向执行核心业务的线程倾斜资源,从而评估调度节点的性能。并且,该调度节点为调度集群中的短板节点,制约着调度集群的性能,从而,根据调度节点的性能可以评估调度节点集群的性能。
通过对调度节点中运行的线程进行划分,并对主线程和辅助线程的运行数据进行比较和分析,可以评估调度节点中对核心任务的资源倾斜程度和运行效率,进而确定调度集群的性能,可以准确评估调度集群的性能,同时,可以比较调度节点中各线程之间的运行数据,更细粒度对调度节点的性能进行评价,可以增加评估内容的多样化和灵活性,而且减少评估调度集群性能的处理数据量,简化分析步骤,提高评估效率。
可选的,所述根据所述待采集数据的调度节点中各线程的运行数据,筛选出辅助线程,包括:根据所述待采集数据的调度节点中各线程的运行数据,在指定指标下对各所述线程进行性能优劣排序;在排序结果中,获取排名在前的且不执行单元任务的设定数量个线程,确定为辅助线程。
运行数据包括至少一个指标,以及每个指标对应的指标数值。运行数据包括资源使用量和/或堵塞程度数据等。示例性的,运行数据为资源使用量,具体是CPU使用指标,指标数值用于描述线程对调度节点的CPU的使用量。此外,运行数据还可以包括CPU负载和/或CPU时间等。CPU负载可以是指该线程占用的CPU与全部可用CPU之间的比值。CPU时间是指CPU全速工作时完成该线程所执行的任务所花费的时间。指定指标为用户选择的指标。在指定指标下,根据个线程的指标数值,对各线程进行排序。性能优劣排序的排序结果中,排名越靠前,线程的性能越好,排名越靠后,线程的性能越差。示例性的,排序结果可以是CPU的使用量的大小排序,CPU使用量越大,排名越靠前,表明线程的性能越好;CPU使用量越小,排名越靠后,表明线程的性能越差。排名在前的且不执行单元任务的设定数量个线程,表明将前n个性能好且不执行的线程,确定为辅助线程。示例性的,设定数量为10。
通过选择性能最好的前n个且不执行单元任务的线程,确定为辅助线程,可以准确区分主线程和辅助线程,从而,准确评估主线程和辅助线程之间的区别,并仅将性能最好的前n个线程确定为辅助线程,可以将占用过多CPU资源的辅助线程与主线程进行比较,减少比较的数据量,提高性能评估效率。
可选的,所述对各所述主线程的运行数据和各所述辅助线程的运行数据进行比较和分析,包括下述至少一项:根据所述主线程的运行数据和各所述辅助线程的运行数据,在资源使用量维度下,计算所述主线程与各所述辅助线程的占比,作为第一分析结果,所述运行数据包括资源使用量;检测所述主线程的资源使用量和预设资源使用阈值之间的大小关系,作为第二分析结果;以及根据所述主线程执行的单元任务的堵塞程度数据,以及其他单元任务的堵塞程度数据,计算调度节点之间的堵塞程度数据之间的差值,作为第三分析结果;所述生成所述调度集群的性能分析结果,包括:根据分析结果,确定所述调度节点对应的优化信息;将所述分析结果、所述调度节点的运行数据和所述优化信息,确定为所述调度集群的性能分析结果,所述分析结果包括下述至少一项:所述第一分析结果、所述第二分析结果和所述第三分析结果。
第一分析结果用于描述调度节点的算力分布以及主辅线程的运行情况。资源使用量用于描述线程占用的资源的量化数值。第二分析结果用于描述主线程分配的资源是否足够多,以描述主线程的性能是否足够好。第三分析结果用于描述各调度节点或线程的堵塞是否均衡。调度节点的优化信息可以是指针对调度节点的运行数据,提供的优化策略。
示例性的,根据待采集数据的调度节点的运行数据进一步判断,即根据第一分析结果和第二分析结果,检测待采集数据的调度节点的堵塞原因。根据第一分析结果,判断调度节点的算力分布中主线程算力是否优于各辅助线程的算力,如果是,则表明该调度节点的整体负载过重,为该调度节点分配的资源不够,相应的,优化信息可以是建议调整调度集群的调度策略,或建议调整调度集群的资源分配;否则,表明该调度节点中处理逻辑存在问题,建议优化调度节点的处理逻辑,以提高主线程的算力。根据第二分析结果,判断调度节点中主线程的算力是否足够高,如果是,则表明该调度节点的整体负载过重,为该调度节点分配的资源不够,相应的,优化信息可以是建议调整调度集群的调度策略,或建议调整调度集群的资源分配;否则,表明该调度节点中处理逻辑存在问题,建议优化调度节点的处理逻辑,以提高主线程的算力。
在根据第三分析结果,确定各线程或者各调度节点的堵塞均衡时,进一步根据线程对应的堵塞程度数据,检测各线程的均衡堵塞程度,也即判断各线程是均衡的空闲还是均衡的堵塞。均衡的空闲,可以表明调度集群目前负载小,运行平稳,性能好,相应的,优化信息可以是无。均衡的堵塞,表明调度集群性能好,但整体负载多,需要为调度集群分配更多的资源,相应的,优化信息可以是建议增加资源。
在根据第三分析结果,确定各线程或者各调度节点的堵塞不均衡时,确定调度集群中各调度节点的负载不同,或者是性能不同。相应的,优化信息可以是建议优化待采集数据的调度节点的处理逻辑,或者为待采集数据的调度节点增加资源。
此外,还可以配置其他分析策略,以及分析结果,具体可以根据需要进行设定,不作具体限制。
通过配置多种运行数据,并形成多种分析结果,综合考虑多个分析结果,确定优化信息,并确定调度集群的性能分析结果,提高调度集群的性能分析的准确性,同时可以根据调度集群中线程的堵塞程度分析性能,可以以更小维度对性能进行分析,提高性能分析的精准性,直观看出当前资源利用情况,方便对资源滥用的节点进行优化,合理配置资源,有助于节省资源成本,同时为用户提供相应的优化信息,降低调度集群的优化门槛,提高大数据实时计算平台的易用性。
可选的,所述调度集群为Flink分布式调度集群,所述堵塞程度数据包括背压值。
Flink是分布式大数据处理引擎。具体的,Flink分布式调度集群,将多个子任务连接到一起组成任务。每一个任务由一个线程来执行。把操作符连接到一起组成任务可以减少了线程之间切换和缓存的开销,并且在降低延时的同时提升了总体的吞吐量。在Flink分布式调度集群中,背压值可以是指单位时间堆栈跟踪被阻塞的数量与堆栈总数之间的比值。
通过采用Flink分布式调度集群,并以背压值作为堵塞程度数据,可以基于背压值对各线程进行堵塞分析,可以直观展示任务内部线程的运行情况和算力分布,使性能分析更加精准。
在Flink调度集群中,通过任务管理模块执行待处理任务(或作业,即Job)的Flink集群。其中,该任务管理模块可以是Flink Job Cluster程序,Flink调度集群的生存期与Flink待处理任务绑定在一起,本发明实施例中的Flink待处理任务都默认运行在FlinkJob Cluster程序中。在Flink Job Cluster程序运行过程中,多个进程参与执行,可以包括任务管理模块(Job Manager),单元管理模块(Task Manager)和用户(Job Client)。其中,Job Manager为Flink调度集群的协调器。TaskManager为Flink调度集群中的工作进程,一个Flink待处理任务会拆分为多个子任务,即单元任务,分布在多个TaskManager中执行,它们彼此建立通信用于单元任务进行数据交换。待处理任务Job可以划分为Task单元任务,进一步还可以细分为Sub-Task任务。其中,Task单元任务为Flink待处理任务的基本工作单元,通常一个Task任务中封装一个算子或者算子链。Sub-Task任务为Task单元任务中负责处理具体一条数据流分区的任务。
在本发明实施例中,通过在Flink调度集群中,配置采集模块(Agent)和分析模块(Analyzer)。Agent为部署在TaskManager所在的调度节点上的基础信息采集进程,用于采集调度节点CPU、内存、TaskManager进程的堆栈转储等信息;Analyzer为独立于Flink调度集群之外的分析进程,负责收集Flink调度集群中各调度节点Agent采集信息,并加以清洗聚合。示例性的,Agent用于采集TaskManager所在节点的TaskManager进程内线程CPU负载情况,以及TaskManager进程的线程传储信息。Analyzer用于触发对Flink单元任务的背压值及其TaskManager的节点信息的采集和分析。
在一个具体的例子中,如图2b所示,调度集群配置有任务管理,通常部署在管理节点中,调度集群在每个调度节点中配置有单元管理和采集模块。此外,在管理节点中,还配置有网络接口(Web Server)。该网络接口用于在分析模块调用时,反馈给分析模块至少一个单元任务的背压值,以及执行该单元任务的调度节点的网际协议地址(InternetProtocol,IP)。
调度集群的性能确定过程,具体可以包括:用户触发Flink调度集群启动后,开始部署Flink Job Cluster,启动TaskManager进程后初始化并启动该节点的Agent进程。在Flink待处理任务运行过程中,Agent进程接收Analyzer请求,开始信息采集,定义n=采集次数,m=采集间隔时间(单位秒),t=首次采集时间,T(x)=时间点x采集的信息,因此信息采集公式为:
Figure BDA0002978703030000141
Analyzer不同于Agent,其独立于Flink调度集群之外,不因Flink待处理任务生命周期的变化而变化。负责采集Flink待处理任务背压数据,即各单元任务的背压值,收集单元任务所在TaskManager调度节点的Agent周期采样数据,清洗出CPU时间占用最多的10个辅助线程与主线程的指定指标数据。统计此主辅线程占用CPU时间比值。
Analyzer根据单元任务是否存在堵塞以及堵塞的倾斜程度来决策采集哪些调度节点中各线程CPU信息。待数据采集的调度节点中Agent将采集的CPU与堆栈转储等信息传输给Analyzer,再由Analyzer进行清洗分析,并输出统计信息并诊断分析结果,确定为调度集群的性能分析结果。
在一个具体的例子中,调度集群的性能确定流程,如图2c所示,具体包括:
S261,配置Flink待处理任务的Web接口。
S262,获取Flink待处理任务中各Task单元任务的堵塞程度数据。
通过预先配置的Web接口获取各Task单元任务的堵塞程度数据。
S263,判断各Task单元任务是否存在背压;如果是,则执行S264;否则,执行S265。
可以在Task单元任务的堵塞程度数据中背压值大于设定背压阈值时,确定Task单元任务存在背压;在Task单元任务的堵塞程度数据中背压值小于等于设定背压阈值时,确定Task单元任务不存在背压。
S264,判断各Task单元任务的堵塞程度数据是否均衡;如果是,则执行S265;否则执行S266。
在存在各Task单元任务的堵塞程度数据之间的差异数据大于所述设定差异阈值时,确定不均衡;在各Task单元任务的堵塞程度数据之间的各差异数据均小于等于所述设定差异阈值时,确定均衡。
S265,在执行Flink任务的调度节点中抽样,获取调度节点的IP地址,执行S267。
抽样可以是指从调度节点中选择一个。可以根据需要,确定选择方法,采用选择方法并从调度节点中选择一个,例如,选择方法为随机选择方法。
S266,检索堵塞程度数据高的Task单元任务所处调度节点IP地址。
堵塞程度数据高的Task单元任务可以是堵塞源头任务。
S267,触发调度节点中采集模块采集TaskManager的线程转储信息和CPU负载。
S268,通过分析模块获取并对采集模块采集的信息进行清洗、汇总和归类。
S269,统计出前十的辅助线程与执行Task单元任务的主线程的CPU负载以及CPU时间。
S270,判断执行Task单元任务的主线程CPU负载是否低于预期阈值;如果是,则执行S271;否则执行S272。
主线程CPU负载是否低于预期阈值,表明主线程的性能差,算力差。
S271,输出统计信息并提示待处理任务性能低下。
S272,输出统计信息。
本发明实施例通过根据各单元任务的堵塞差异,确定目标单元任务,并将执行目标单元的调度节点,确定为待采集的调度节点,可以准确根据堵塞是否均衡,查询到短板单元任务,从而确定最能体现堵塞的目标单元任务,并确定执行该目标单元任务的目标调度节点,进行数据采集,以分析调度集群的性能,可以集中到一个节点进行数据采集,进行运行数据采集,减少采集数量,减少人工成本,提高分析效率,而且,可以精准确定最能体现堵塞的目标单元任务,提高性能分析结果的准确性。
实施例三
图3为本发明实施例三中的一种调度集群的性能确定装置的示意图。实施例三是实现本发明上述实施例提供的调度集群的性能确定方法的相应装置,该装置可采用软件和/或硬件的方式实现,并一般可集成计算机设备中。
相应的,本实施例的装置可以包括:
堵塞程度数据获取模块310,用于在待处理任务调度到调度集群中运行的过程中,采集所述待处理任务关联的单元任务的堵塞程度数据,所述待处理任务可以划分为多个单元任务;
待采集调度节点确定模块320,用于根据各所述单元任务的堵塞程度数据,在所述调度集群中确定待采集数据的调度节点;
性能分析结果确定模块330,用于获取所述待采集数据的调度节点的运行数据,并确定所述调度集群的性能分析结果。
本发明实施例通过采集各单元任务的堵塞程度数据,在调度集群中确定一个待采集数据的调度节点,进行运行数据采集,并根据运行于该待采集数据的调度节点的运行数据,确定调度集群的性能分析结果,解决了现有技术中人工重复登录多台节点进行性能分析,导致分析效率差的问题,根据各任务单元确定调度节点,针对最能代表堵塞的调度节点进行分析,提高性能分析准确率,同时仅针对一个调度节点进行运行数据采集,减少采集数量,减少人工成本,提高分析效率。
进一步的,所述待采集调度节点确定模块320,包括:堵塞差异检测单元,用于检测各所述单元任务的堵塞程度数据之间的差异数据;根据所述差异数据,在各所述单元任务中,确定目标单元任务;将执行所述目标单元任务的调度节点,确定为待采集数据的调度节点。
进一步的,所述堵塞差异检测单元,包括:目标单元任务确定子单元,用于在确定所述差异数据小于等于设定差异阈值时,从各所述单元任务中,随机选择一个单元任务,确定为目标单元任务;在确定所述差异数据大于所述设定差异阈值时,在各所述单元任务中,查询堵塞源头任务,确定为目标单元任务。
进一步的,所述调度节点的运行数据包括所述调度节点中各线程的运行数据;所述性能分析结果确定模块330,包括:线程主辅划分单元,用于根据所述待采集数据的调度节点中各线程的运行数据,筛选出辅助线程和主线程,所述主线程用于执行单元任务,所述辅助线程用于辅助所述主线程执行单元任务;对各所述主线程的运行数据和各所述辅助线程的运行数据进行比较和分析,生成所述调度集群的性能分析结果。
进一步的,所述线程主辅划分单元,包括:辅助线程确定子单元,用于根据所述待采集数据的调度节点中各线程的运行数据,在指定指标下对各所述线程进行性能优劣排序;在排序结果中,获取排名在前的且不执行单元任务的设定数量个线程,确定为辅助线程。
进一步的,所述线程主辅划分单元,包括下述至少一项:占比分析子单元,用于根据所述主线程的运行数据和各所述辅助线程的运行数据,在资源使用量维度下,计算所述主线程与各所述辅助线程的占比,作为第一分析结果,所述运行数据包括资源使用量;主线程资源使用分析子单元,用于检测所述主线程的资源使用量和预设资源使用阈值之间的大小关系,作为第二分析结果;以及堵塞均衡分析子单元,用于根据所述主线程执行的单元任务的堵塞程度数据,以及其他单元任务的堵塞程度数据,计算调度节点之间的堵塞程度数据之间的差值,作为第三分析结果;性能分析子单元,用于根据分析结果,确定所述调度节点对应的优化信息;将所述分析结果、所述调度节点的运行数据和所述优化信息,确定为所述调度集群的性能分析结果,所述分析结果包括下述至少一项:所述第一分析结果、所述第二分析结果和所述第三分析结果。
进一步的,所述调度集群为Flink分布式调度集群,所述堵塞程度数据包括背压值。
上述装置可执行本发明实施例所提供的方法,具备执行方法相应的功能组件和有益效果。
实施例四
图4为本发明实施例四提供的一种计算机设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图4显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。计算机设备12可以是挂接在总线上的设备。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(PerIPheral Component Interconnect,PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM),数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序组件,这些程序组件被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序组件42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序组件42包括但不限于操作系统、一个或者多个应用程序、其它程序组件以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序组件42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(Input/Output,I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local AreaNetwork,LAN),广域网(Wide Area Network,WAN)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它组件通信。应当明白,尽管图4中未示出,可以结合计算机设备12使用其它硬件和/或软件组件,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列(Redundant Arrays of Inexpensive Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明任意实施例所提供的方法。
实施例五
本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的调度集群的性能确定方法:
也即,该程序被处理器执行时实现:在待处理任务调度到调度集群中运行的过程中,采集所述待处理任务关联的单元任务的堵塞程度数据,所述待处理任务可以划分为多个单元任务;根据各所述单元任务的堵塞程度数据,在所述调度集群中确定待采集数据的调度节点;获取所述待采集数据的调度节点的运行数据,并确定所述调度集群的性能分析结果。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、RAM、只读存储器(Read OnlyMemory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、无线电频率(RadioFrequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括LAN或WAN——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种调度集群的性能确定方法,其特征在于,包括:
在待处理任务调度到调度集群中运行的过程中,采集所述待处理任务关联的单元任务的堵塞程度数据,所述待处理任务可以划分为多个单元任务;
根据各所述单元任务的堵塞程度数据,在所述调度集群中确定待采集数据的调度节点;
获取所述待采集数据的调度节点的运行数据,并确定所述调度集群的性能分析结果。
2.根据权利要求1所述的方法,其特征在于,所述根据各所述单元任务的堵塞程度数据,在所述调度集群中确定待采集数据的调度节点,包括:
检测各所述单元任务的堵塞程度数据之间的差异数据;
根据所述差异数据,在各所述单元任务中,确定目标单元任务;
将执行所述目标单元任务的调度节点,确定为待采集数据的调度节点。
3.根据权利要求2所述的方法,其特征在于,所述根据所述差异数据,在各所述单元任务中,确定目标单元任务,包括:
在确定所述差异数据小于等于设定差异阈值时,从各所述单元任务中,随机选择一个单元任务,确定为目标单元任务;
在确定所述差异数据大于所述设定差异阈值时,在各所述单元任务中,查询堵塞源头任务,确定为目标单元任务。
4.根据权利要求1所述的方法,其特征在于,所述调度节点的运行数据包括所述调度节点中各线程的运行数据;
所述确定所述调度集群的性能分析结果,包括:
根据所述待采集数据的调度节点中各线程的运行数据,筛选出辅助线程和主线程,所述主线程用于执行单元任务,所述辅助线程用于辅助所述主线程执行单元任务;
对各所述主线程的运行数据和各所述辅助线程的运行数据进行比较和分析,生成所述调度集群的性能分析结果。
5.根据权利要求4所述的方法,其特征在于,所述根据所述待采集数据的调度节点中各线程的运行数据,筛选出辅助线程,包括:
根据所述待采集数据的调度节点中各线程的运行数据,在指定指标下对各所述线程进行性能优劣排序;
在排序结果中,获取排名在前的且不执行单元任务的设定数量个线程,确定为辅助线程。
6.根据权利要求4所述的方法,其特征在于,所述对各所述主线程的运行数据和各所述辅助线程的运行数据进行比较和分析,包括下述至少一项:
根据所述主线程的运行数据和各所述辅助线程的运行数据,在资源使用量维度下,计算所述主线程与各所述辅助线程的占比,作为第一分析结果,所述运行数据包括资源使用量;
检测所述主线程的资源使用量和预设资源使用阈值之间的大小关系,作为第二分析结果;以及
根据所述主线程执行的单元任务的堵塞程度数据,以及其他单元任务的堵塞程度数据,计算调度节点之间的堵塞程度数据之间的差值,作为第三分析结果;
所述生成所述调度集群的性能分析结果,包括:
根据分析结果,确定所述调度节点对应的优化信息;
将所述分析结果、所述调度节点的运行数据和所述优化信息,确定为所述调度集群的性能分析结果,所述分析结果包括下述至少一项:所述第一分析结果、所述第二分析结果和所述第三分析结果。
7.根据权利要求1所述的方法,其特征在于,所述调度集群为Flink分布式调度集群,所述堵塞程度数据包括背压值。
8.一种调度集群的性能确定装置,其特征在于,包括:
堵塞程度数据获取模块,用于在待处理任务调度到调度集群中运行的过程中,采集所述待处理任务关联的单元任务的堵塞程度数据,所述待处理任务可以划分为多个单元任务;
待采集调度节点确定模块,用于根据各所述单元任务的堵塞程度数据,在所述调度集群中确定待采集数据的调度节点;
性能分析结果确定模块,用于获取所述待采集数据的调度节点的运行数据,并确定所述调度集群的性能分析结果。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一所述的调度集群的性能确定方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的调度集群的性能确定方法。
CN202110281595.2A 2021-03-16 2021-03-16 调度集群的性能确定方法、装置、计算机设备及存储介质 Pending CN112948229A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110281595.2A CN112948229A (zh) 2021-03-16 2021-03-16 调度集群的性能确定方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110281595.2A CN112948229A (zh) 2021-03-16 2021-03-16 调度集群的性能确定方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN112948229A true CN112948229A (zh) 2021-06-11

Family

ID=76230129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110281595.2A Pending CN112948229A (zh) 2021-03-16 2021-03-16 调度集群的性能确定方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112948229A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115495234A (zh) * 2022-08-23 2022-12-20 华为技术有限公司 一种资源检测方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006331135A (ja) * 2005-05-26 2006-12-07 Nec Corp クラスタシステムの性能予測装置、性能予測方法及び性能予測プログラム
US20160308755A1 (en) * 2015-04-17 2016-10-20 Parallel Wireless, Inc. MaxMesh: Mesh Backhaul Routing
CN110389873A (zh) * 2018-04-17 2019-10-29 北京京东尚科信息技术有限公司 一种判定服务器资源使用情况的方法和装置
CN110673927A (zh) * 2019-09-27 2020-01-10 北京浪潮数据技术有限公司 一种虚拟机的调度方法和装置
CN110928750A (zh) * 2018-09-19 2020-03-27 阿里巴巴集团控股有限公司 数据处理方法、装置及设备
CN110928732A (zh) * 2019-11-05 2020-03-27 北京字节跳动网络技术有限公司 服务器集群性能采样分析方法、装置及电子设备
CN111404780A (zh) * 2020-03-13 2020-07-10 苏州浪潮智能科技有限公司 一种远程直接存储器访问网络集群的功能测试方法和装置
CN112115031A (zh) * 2020-09-29 2020-12-22 中国银行股份有限公司 集群状态监控方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006331135A (ja) * 2005-05-26 2006-12-07 Nec Corp クラスタシステムの性能予測装置、性能予測方法及び性能予測プログラム
US20160308755A1 (en) * 2015-04-17 2016-10-20 Parallel Wireless, Inc. MaxMesh: Mesh Backhaul Routing
CN110389873A (zh) * 2018-04-17 2019-10-29 北京京东尚科信息技术有限公司 一种判定服务器资源使用情况的方法和装置
CN110928750A (zh) * 2018-09-19 2020-03-27 阿里巴巴集团控股有限公司 数据处理方法、装置及设备
CN110673927A (zh) * 2019-09-27 2020-01-10 北京浪潮数据技术有限公司 一种虚拟机的调度方法和装置
CN110928732A (zh) * 2019-11-05 2020-03-27 北京字节跳动网络技术有限公司 服务器集群性能采样分析方法、装置及电子设备
CN111404780A (zh) * 2020-03-13 2020-07-10 苏州浪潮智能科技有限公司 一种远程直接存储器访问网络集群的功能测试方法和装置
CN112115031A (zh) * 2020-09-29 2020-12-22 中国银行股份有限公司 集群状态监控方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115495234A (zh) * 2022-08-23 2022-12-20 华为技术有限公司 一种资源检测方法及装置
CN115495234B (zh) * 2022-08-23 2023-11-28 华为技术有限公司 一种资源检测方法及装置

Similar Documents

Publication Publication Date Title
CN105487930B (zh) 一种基于Hadoop的任务优化调度方法
US6665716B1 (en) Method of analyzing delay factor in job system
CN103995735A (zh) 用于调度工作流作业的设备和方法
CN105718479B (zh) 跨idc大数据处理架构下执行策略生成方法、装置
CN110519365B (zh) 一种变更设备业务的方法和业务变更系统
US8875143B2 (en) Utility-optimized scheduling of time-sensitive tasks in a resource-constrained environment
CN112667376A (zh) 任务调度处理方法、装置、计算机设备及存储介质
US20060277295A1 (en) Monitoring system and monitoring method
US20040205759A1 (en) Information processing system, information processing device, distributed information processing method and computer program
US20110072437A1 (en) Computer job scheduler with efficient node selection
CN102868573B (zh) Web服务负载云测试方法和装置
US8572621B2 (en) Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria
CN111045911B (zh) 性能测试方法、性能测试装置、存储介质与电子设备
CN110347602B (zh) 多任务脚本执行方法及装置、电子设备及可读存储介质
US11716384B2 (en) Distributed resource management by improving cluster diversity
US8869149B2 (en) Concurrency identification for processing of multistage workflows
CN107430526B (zh) 用于调度数据处理的方法和节点
US20060277317A1 (en) Providing flow control and moderation in a distributed message processing system
US20080256544A1 (en) Stateless task dispatch utility
CN114610497A (zh) 容器调度方法、集群系统、装置、电子设备及存储介质
CN115269108A (zh) 一种数据处理方法、装置及设备
CN114116172A (zh) 一种流量数据采集方法、装置、设备及存储介质
CN116700920A (zh) 云原生混合部署集群资源调度方法及装置
WO2022111278A1 (zh) 一种并发请求超时的诊断方法及装置、设备、存储介质
CN112948229A (zh) 调度集群的性能确定方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210611