我们有一个Jenkins master+5 slave设置。
最近几周,Jenkins GUI的速度开始放缓,以至于加载Jenkins GUI周期性地需要分钟。加载后,它仍然很慢,詹金斯一点也不觉得有什么反应。
奇怪的是,当我打开Jenkins并清除所有浏览器缓存(cookie、缓存等)时,Jenkins GUI运行得很快,然后一切加载都很好。第二天,GUI也开始变慢,直到我再次清除所有浏览器cookie+缓存。我在Chrome+IE中测试了这个,结果相同。
我已经检查并尝试了一些东西:
- 检查主机上的CPU+内存使用情况(CPU使用率低,堆空间充足)
- GC登录master(在gceasy上检查-一切正常-没有建议)
- 清除Jenkins的旧数据
- 我们已经限制了所有工作的最大历史记录为10
所以,我没有主意了。这与浏览器/客户端有关,因为清除cookie/缓存可以为用户解决问题。
你知道詹金斯的真正问题是什么吗?
当GUI加载缓慢时,我看到许多对静态资源的请求都是很长时间挂起的,例如这个资源:/static/1f01833b/images/32x32/red_anime.gif
此cookie导致GUI中的速度减慢问题:ACEGI_SECURITY_HASHED_REMEMBER_ME_COOKIE
当我清理这块饼干(并重新登录)时,詹金斯又很快了。
这不是一个真正的解决方案,但对我们来说,这是一个不错的解决方案:
启用配置全局安全下的"禁用记住我"为我们修复了它(有效地从登录屏幕中删除了"记住我"。
更新:这是关于这个问题的Jira票证:
https://issues.jenkins-ci.org/browse/JENKINS-56243
相当多的人都有同样的问题,Active Directory似乎不是根本原因,因为人们报告说在没有AD集成的情况下也有相同的问题。不幸的是,Jenkins的开发人员似乎没有给予它太多的优先权。。。