在线上环境中,经常会出现服务卡顿,造成数据无法更新、获取的现象。对于这种现象现,个人一自身的工作经历总结如下:
一、定时任务时间间隔短,造成服务卡顿,线程池爆满,线程锁无法释放,进而服务崩溃:
设定的时间间隔内,程序未执行完成,又开始进行下一轮的程序执行,这样的幂等性执行最终造成线程池爆满,服务崩溃;
解决办法:根据业务量计算程序执行一次耗时,科学合理设定时间间隔;
二、定时任务,程序中存在HTTP请求,但是请求地址已经改变或者因为其他原因无法访问,这样累计起来的无响应请求,最终造成服务假死。
解决办法:关掉HTTP请求,或者排查HTTP请求服务故障;
本文探讨了线上服务出现卡顿的两个主要原因:一是定时任务时间间隔设置不当导致线程池爆满;二是定时任务中HTTP请求异常累积,造成服务假死。并提出了科学设定时间间隔和排查HTTP请求故障的解决方案。
1603

被折叠的 条评论
为什么被折叠?



