预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113760632A(43)申请公布日2021.12.07(21)申请号202010796290.0(22)申请日2020.08.10(71)申请人北京沃东天骏信息技术有限公司地址100176北京市大兴区北京经济技术开发区科创十一街18号院2号楼4层A402室申请人北京京东世纪贸易有限公司(72)发明人吴风浪(74)专利代理机构北京品源专利代理有限公司11332代理人孟金喆(51)Int.Cl.G06F11/30(2006.01)G06F11/34(2006.01)权利要求书2页说明书9页附图3页(54)发明名称线程池性能监控方法、装置、设备和存储介质(57)摘要本发明实施例公开了一种线程池性能监控方法、装置、设备和存储介质。涉及互联网技术领域,所述方法包括:接收任务处理请求,启动运行线程池代码以对所述任务处理请求进行处理;基于预先设置在所述线程池代码中预设位置的监控代码,将执行所述预设位置处的代码的时间信息记录在性能日志中;其中,所述监控代码是根据需要监控的性能指标对应的待监控操作预先设置的,所述预设位置处的代码是所述待监控操作对应的代码;根据所述性能日志确定所述性能指标,并将所述性能指标进行输出。采用本方案可以实现实时对线程池的各性能进行监控的效果。CN113760632ACN113760632A权利要求书1/2页1.一种线程池性能监控方法,其特征在于,包括:接收任务处理请求,启动运行线程池代码以对所述任务处理请求进行处理;基于预先设置在所述线程池代码中预设位置的监控代码,将执行所述预设位置处的代码的时间信息记录在性能日志中;其中,所述监控代码是根据需要监控的性能指标对应的待监控操作预先设置的,所述预设位置处的代码是所述待监控操作对应的代码;根据所述性能日志确定所述性能指标,并将所述性能指标进行输出。2.根据权利要求1所述的方法,其特征在于,所述性能指标包括:核心线程使用率;所述基于预先设置在所述线程池代码中至少两个预设位置的监控代码,将执行所述至少两个预设位置处的代码的时间信息记录在性能日志中,包括:基于分别预先在所述线程池代码中的核心线程任务开始执行处和核心线程任务执行成功处设置的监控代码,分别将所述线程池的核心线程任务开始执行时间和核心线程任务执行成功时间记录在性能日志中。3.根据权利要求1所述的方法,其特征在于,所述性能指标包括:队列使用率和任务等待时间;所述基于预先设置在所述线程池代码中至少两个预设位置的监控代码,将执行所述至少两个预设位置处的代码的时间信息记录在性能日志中,包括:基于分别预先在所述线程池代码中的线程池的任务入队列处和任务出队列处设置的监控代码,分别将任务入队列时间和任务出队列时间记录在性能日志中。4.根据权利要求1所述的方法,其特征在于,所述性能指标包括:扩展线程存活率;所述基于预先设置在所述线程池代码中至少两个预设位置的监控代码,将执行所述至少两个预设位置处的代码的时间信息记录在性能日志中,包括:基于分别预先在所述线程池代码中的创建扩展线程处和销毁扩展线程处设置的监控代码,分别将创建扩展线程时间和销毁扩展线程时间记录在性能日志中。5.根据权利要求1-4中任一项所述的方法,其特征在于,所述线程池代码的运行包括:判断所述线程池的核心线程数量是否小于预设核心线程数量;若是,则创建核心线程,基于核心线程获取所述任务处理请求对应的任务,并执行获取的任务;若否,则判断所述线程池的队列中是否有空闲位置;若有空闲位置,则将所述任务加入所述队列中,在已创建的核心线程或扩展线程空闲时从所述队列中获取所述任务并执行;若无空闲位置,则判断扩展线程数量是否小于预设扩展线程数量;若小于预设扩展线程数量,则创建扩展线程,基于所述扩展线程获取所述任务,并执行获取的任务,若所述任务执行完成后,在预设时间段内所述扩展线程无新的任务获取,则销毁所述扩展线程;若不小于预设扩展线程数量,则拒绝接收所述任务。6.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:基于各性能指标与预设标准性能指标的差值,对应调整线程池配置参数。7.根据权利要求6所述的方法,其特征在于,所述基于各性能指标与预设标准性能指标的差值,对应调整线程池配置参数,包括:2CN113760632A权利要求书2/2页当核心线程使用率大于标准核心线程使用率时,增加核心线程数量,当核心线程使用率小于标准核心线程使用率时,减少核心线程数量;当队列使用率大于标准队列使用率,和/或,任务等待时间小于标准任务等待时间时,增加队列容量,当队列使用率大于标准队列使用率,和/或,任务等待时间小于标准任务等待时间时,减少队列容量;当扩展线程存活率大于标准扩展线程存活率时,增加核心线程数量或增加总线程