定时跑批过程中,为啥jenkins会偶现卡住?


背景:

最近这段时间(其实持续了1个月),在线上监控的自动化执行过程中,会偶现jenkins执行任务时502卡住,阻塞其他任务。

最初的原因以为是我的代码有问题,或者执行的接口返回超时导致的。

后来在代码里加了异常捕获、查看对应时间对应接口的服务端日志,都没有找到原因。

 

后来找运维同学帮助,修改了配置之后,得到解决。

“在浏览器和jenkins之间有一个nginx反向代理,负责把流量转发到jenkins上。nginx所在主机上启用了连接追踪功能,这个负责记录代理前后的连接的对应关系,记录内容被放到一个哈希表中。由于nginx要代理的域名有点多,而哈希表容量有限,所以容量满了内核就开始丢包,nginx发送不了请求或者收不到响应就报502、504,等表记录超时时间过了之后,哈希表又空闲了,故障就解除了,所以构建结果时好时坏。解决方案就是把这台主机上的这个哈希表的容量调大一些。”

 

“由于nginx代理偶发连接丢失问题,每次执行任务所启动的进程与jenkins自身有通信故障,导致任务无法在有限时间内结束。”


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM