线程池的调整方法、装置、存储介质和电子设备制造方法及图纸

技术编号:21377938 阅读:31 留言:0更新日期:2019-06-15 13:29
本发明专利技术公开了一种线程池的调整方法、装置、存储介质和电子设备,其中,该方法包括:响应于预定触发条件被触发,根据预定调整规则调整线程池的当前线程数量;确定执行调整操作后的预定时间内的系统性能变化;响应于系统性能变化为调整后的系统性能优于调整前的系统性能,确定调整操作有效。本发明专利技术提供的线程池调整方案,误差较小,效率较高。

【技术实现步骤摘要】
线程池的调整方法、装置、存储介质和电子设备
本专利技术公开涉及数据处理领域,具体涉及一种线程池的调整方法、装置、存储介质和电子设备。
技术介绍
在SOA(Service-OrientedArchitecture,面向服务架构)服务开发框架实现过程或网站后台开发中,服务端通常采用线程池技术来实现客户端请求的逻辑处理任务,线程池技术可以充分利用多核CPU(CentralProcessingUnit,中央处理器)的性能,并且,线程的复用可以避免频繁创建和销毁带来的性能损耗问题。对线程池的合理利用使得研发人员可以更容易地开发高性能、高吞吐处理能力的服务。但是,在不同应用场景、不同业务需求以及不同服务器规格因素下,服务端线程池大小的设计会比较复杂,工程师需要经过大量测试才能设计出准确合理的线程池,因为合理的线程池大小才能让服务端具备最大的吞吐量处理能力,过大或过小的线程池都会影响服务性能。现有的技术主要依靠工程师事先进行压力测试,通过压力测试来寻找最佳的线程池大小。具体而言,工程师通过不断的调整服务端线程池大小,对比压力测试结果,当服务端达到最大性能时,判定当前的线程池大小为最佳配置。但是,压力测试环境不代表实际环境,因而测试结果存在误差,这导致设计出的线程池大小也会存在误差;并且,当服务端版本发生变化时,工程师需要重新测试来调整线程池大小,这使得线程池的设计效率低、且成本高。
技术实现思路
有鉴于此,本专利技术实施例提供一种线程池的调整方法、装置、存储介质和电子设备,以解决现有技术中通过工程师在压力测试环境下设计线程池大小存在的误差较大且效率较低的问题。根据本专利技术实施例的第一方面,提供一种线程池的调整方法,该方法包括:响应于预定触发条件被触发,根据预定调整规则调整线程池的当前线程数量;确定执行调整操作后的预定时间内的系统性能变化;响应于系统性能变化为调整后的系统性能优于调整前的系统性能,确定所述调整操作有效。根据本专利技术实施例的第二方面,提供一种线程池的调整装置,该装置包括:调整单元,用于响应于预定触发条件被触发,根据预定调整规则调整线程池的当前线程数量;性能确定单元,用于确定执行调整操作后的预定时间内的系统性能变化;操作确定单元,用于响应于系统性能变化为调整后的系统性能优于调整前的系统性能,则确定所述调整操作有效。根据本专利技术实施例的第三方面,提供一种计算机可读存储介质,其上存储计算机程序指令,其中,所述计算机程序指令在被处理器执行时实现如第一方面所述的方法。根据本专利技术实施例的第四方面,提供一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如第一方面所述的方法。本专利技术实施例通过在用于触发调整线程池数量操作的预定触发条件被触发时,根据预定的调整规则来调整当前线程池的线程数量,并通过系统性能变化来判断调整操作是否有效,当调整后的系统性能更优时,表示该调整操作是有效的,也就是说调整后的线程池大小是合适的,相比于现有技术中的通过工程师在压力测试环境下来设计线程池大小,本专利技术实施例由于无需人工操作并且调整操作是在实际系统环境下完成,因而本专利技术实施例提供的线程池调整方案,相对于现有技术而言,误差较小,效率较高。附图说明通过以下参照附图对本专利技术实施例的描述,本专利技术的上述以及其它目的、特征和优点将更为清楚,在附图中:图1是根据本专利技术实施例的线程池调整方法的流程图;图2是根据本专利技术实施例的线程池调整方法的具体流程图;图3是根据本专利技术实施例的线程池调整装置的结构框图;图4根据本专利技术实施例的调整单元301的结构框图;图5-8是根据本专利技术实施例的线程池调整装置的应用场景结果曲线图;图9是根据明实施例的电子设备的示意图。具体实施方式以下基于实施例对本专利技术进行描述,但是本专利技术并不仅仅限于这些实施例。在下文对本专利技术的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本专利技术。为了避免混淆本专利技术的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。在本专利技术的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本专利技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。本专利技术实施例提供了一种线程池的调整方法,图1是该方法的流程图,如图1所示,该方法包括:步骤101,响应于预定触发条件被触发,根据预定调整规则调整线程池的当前线程数量;步骤102,确定执行调整操作后的预定时间内的系统性能变化;步骤103,响应于系统性能变化为调整后的系统性能优于调整前的系统性能,则确定该调整操作有效。当用于触发调整线程池数量(或称为线程池大小)操作的预定触发条件被触发时,根据预定的调整规则来调整当前线程池的线程数量,并通过系统性能变化来判断调整操作是否有效,当调整后的系统性能更优时,表示该调整操作是有效的,也就是说调整后的线程池大小是合适的,相比于现有技术中的通过工程师在压力测试环境下来设计线程池大小,本专利技术实施例由于无需人工操作并且调整操作是在实际系统环境下完成,因而本专利技术实施例提供的线程池调整方案,相对于现有技术而言,误差较小,效率较高。这里的预定触发条件包括数量增加触发条件和数量减少触发条件。在实际操作中,由于CPU负载(load)随时在变化,因而,可以周期性(例如,10分钟)触发预定触发条件,以周期性执行调整线程池线程数量的操作,这样,线程池大小可以随着CPU负载变化而尽快调整,以此提高系统性能。具体而言,步骤101中的根据预定调整规则调整线程池的当前线程数量包括:首先,根据数量增加触发条件判断是否增加当前线程数量;当判断结果为增加当前线程数量时,则增加当前线程数量;否则,根据数量减少触发条件判断是否减少当前线程数量;当判断结果为减少当前线程数量时,则减少当前线程数量。在本专利技术实施例中,用于触发调整线程数量操作的预定触发条件可以由如下参数决定:用户模式下CPU占用率(可以称为CPU合计占用率)、内核模式下CPU占用率(可以称为CPU(sys)合计占用率)和CPU负载情况(例如,CPU运行队列数量)。也就是说,依据这三个参数来触发调整操作。具体地,数量增加触发条件可以包括:用户模式下CPU占用率小于等于第一预定数值(例如,100%)、内核模式下CPU占用率小于等于第二预定数值(例如,30%)、CPU运行队列小于预定数量(例如,3)。当满足这三个方面中的至少一个时,表示数量增加触发条件满足,此时可以执行增加当前线程数量的操作,之后执行步骤101-步骤103。当这三个方面都不满足时,表示数量增加触发条件不满足,此时,判断数量减少触发条件是否满足。数量减少触发条件可以包括:用户模式下CPU占用率大于第一预定数值(例如,100%)、内核模式下CPU占用率大于第二预定数值(例如,30%)、CPU运行队列大于等于预定数量(例如,本文档来自技高网...

【技术保护点】
1.一种线程池的调整方法,其特征在于,所述方法包括:响应于预定触发条件被触发,根据预定调整规则调整线程池的当前线程数量;确定执行调整操作后的预定时间内的系统性能变化;响应于系统性能变化为调整后的系统性能优于调整前的系统性能,确定所述调整操作有效。

【技术特征摘要】
1.一种线程池的调整方法,其特征在于,所述方法包括:响应于预定触发条件被触发,根据预定调整规则调整线程池的当前线程数量;确定执行调整操作后的预定时间内的系统性能变化;响应于系统性能变化为调整后的系统性能优于调整前的系统性能,确定所述调整操作有效。2.根据权利要求1所述的线程池的调整方法,其特征在于,所述预定触发条件包括数量增加触发条件和数量减少触发条件。3.根据权利要求2所述的线程池的调整方法,其特征在于,根据预定调整规则调整线程池的当前线程数量包括:根据所述数量增加触发条件判断是否增加当前线程数量;响应于判断结果为增加当前线程数量,则增加当前线程数量;否则,根据所述数量减少触发条件判断是否减少当前线程数量;响应于判断结果为减少当前线程数量,则减少当前线程数量。4.根据权利要求1所述的线程池的调整方法,其特征在于,根据预定调整规则调整当前线程数量还包括以下至少之一:根据所述当前线程数量确定调整的线程数量;调整后的线程数量在预定范围内。5.根据权利要求3所述的线程池的调整方法,其特征在于,所述数量增加触发条件包括以下至少之一:用户模式下CPU占用率小于等于第一预定数值、内核模式下CPU占用率小于等于第二...

【专利技术属性】
技术研发人员:陈永庭
申请(专利权)人:上海拉扎斯信息科技有限公司
类型:发明
国别省市:上海,31

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

1