首页 文章

加载Jenkins作业配置页面很慢,没有正在运行的作业

提问于
浏览
0

目前,当我们尝试打开Jenkins配置页面时,它需要45秒,而对于其他页面,如请求查看作业或查看控制台输出,则需要不到3秒 . 基于线程转储分析结果,我们得到了 CPU 'Spike' 作为描述

“您的应用程序可能会受到高CPU的影响 . ”查看线程报告,我们看不到任何阻塞状态,但有一个可疑状态:“1个线程无限循环:DestroyJavaVM”

不幸的是,我们无法确定这个高CPU的原因,也可能无法确定相关的无限循环 .

到目前为止,我们已经采取了一些步骤来通过重新启动Jenkins来提高性能,从55秒到45秒,结果快10秒 . 我们将JVM最小/最大内存参数重新定义为相同并将炒作增加到4 Gb,它不会产生任何影响 . 我们使用相同的操作系统创建一个干净的测试Jenkins实例,该实例具有相同的Jenkins版本,相同的已安装插件和作业配置 . 新测试Jenkins实例的作业配置页面的负载小于3秒 . 我们不确定是否可以根据此测试排除已安装的插件作为主要问题 .

欢迎任何其他建议来跟踪问题 .

ThreadDump Analyse Report

我们正在使用: - Windows Server 2008 R2 Enterprise sp1 - Jenkins(Master):版本2.89.1 - Java:JRE 1.8.0_112 - 客户端webbrowser Google Chrome Versie 61.0.3163.100(Officiëlebuild)(64位)已安装的插件: Ant插件--1.7 Apache HttpComponents客户端4.x API插件 - 4.5.3-2.0 Artifactory插件 - 2.13.1认证令牌API插件 - 1.3 Autofavorite for Blue Ocean - 1.2.1 Bitbucket分支源插件 - 2.2.7蓝色Bitbucket管道Ocean - 1.3.4 Blue Ocean - 1.3.4 Blue Ocean Pipeline Editor - 1.3.4 bouncycastle API插件 - 2.16.2 Branch API插件 - 2.0.15 build-name-setter - 1.6.7 Blue Ocean的通用API - 1.3 . 4条件BuildStep - 1.3.6蓝海配置API - 1.3.4配置文件提供程序插件 - 2.16.4复制工件插件 - 1.39凭据绑定插件 - 1.13凭证插件 - 2.1.16自定义构建标签 - 1.1 CVS插件 - 2.13 Blue Ocean Dashboard - 1.3.4 Dashboard View - 2.9.11 Discard Old Build plugin - 1.05 disk-usage plugin - 0 .28显示上游更改 - 0.3.2显示URL API - 2.2.0显示Blue Ocean的URL - 2.2.0 Docker Commons插件 - 1.9 Docker Pipeline - 1.14 Durable Task Plugin - 1.17 EnvInject API插件 - 1.4环境注入器插件 - 2.1 . 5 Blue Ocean的事件API - 1.3.4外部监视器作业类型插件 - 1.7收藏夹 - 2.3.1文件夹插件 - 6.2.1 Git客户端插件 - 蓝海的2.6.0 Git管道 - 1.3.4 Git插件 - 3.6.4 GIT服务器插件 - 1.7 GitHub API插件 - 1.90 GitHub分支源插件 - 2.3.1 GitHub管道蓝海 - 1.3.4 GitHub插件 - 1.28.1 Gradle插件 - 1.28 HTML Publisher插件 - 1.14 i18n for Blue Ocean - 1.3.4 Icon Shim插件 - 2.0.3 Ivy插件 - 1.28 Jackson 2 API插件 - 2.8.7.0 Javadoc插件 - 1.4 JavaScript GUI Lib:ACE编辑器捆绑插件 - 1.1 JavaScript GUI Lib:Handlebars bundle plugin - 1.1.1 JavaScript GUI Lib:jQuery bundle (jQuery和jQuery UI)插件 - 1.2.1 JavaScript GUI Lib:Moment.js包插件 - 1.1.1 JIRA集成Blue Ocean - 1.3.4 JIRA插件 - 2.5作业配置历史插件 - 2.18 jQuery插件 - 1.12.4-0 JSch依赖插件 - 0.1.54.1 JUnit插件 - 1.23 JWT for Blue Ocean - 1.3.4 LDAP插件 - 1.18 Locale插件 - 1.2 Mailer插件 - 1.20管理脚本 - 1.4 MapDB API插件 - 1.0.9.0矩阵授权策略插件 - 2.2 Matrix项目插件 - 1.12 Maven集成插件 - 3.0 Mercurial插件 - 2.2 Metrics磁盘使用插件 - 3.0.0 Metrics插件 - 3.1.2.10监控 - 1.70.0 MSBuild插件 - 1.28 MSTest插件 - 0.23 NAnt插件 - 1.4.3 OWASP依赖检查插件 - 3.0.2 OWASP标记格式化插件 - 1.5 PAM认证插件 - 1.3参数化触发插件 - 2.35.2蓝海个性化 - 1.3.4管道 - 2.5管道图分析插件 - 1.5蓝海管道实施 - 1.3.4蓝海管道SCM API - 1.3.4管道实用步骤 - 1.5.1管道:API - 2.24管道:基本步骤 - 2.6管道:构建步骤 - 2.5.1 Pipelin e:声明性 - 1.2.5管道:声明性代理API - 1.1.1管道:声明性扩展点API - 1.2.5管道:Groovy - 2.42管道:输入步骤 - 2.8管道:作业 - 2.15管道:里程碑步骤 - 1.3.1管道:模型API - 1.2.5管道:多分支 - 2.16管道:节点和进程 - 2.17管道:REST API插件 - 2.9管道:SCM步骤 - 2.6管道:共享Groovy库 - 2.9管道:阶段步骤 - 2.3管道:阶段标签元数据 - 1.2.5管道:阶段视图插件 - 2.9管道:步骤API - 2.14管道:支持API - 2.16普通凭证插件 - 1.4插件使用 - 插件 - 0.3 PostBuildScript插件 - 2.2.1 PowerShell插件 - 1.3推广构建插件 - 2.31 Pub-Sub“轻”总线 - 1.12质量门插件 - 2.5 Rebuilder - 1.27资源处理器插件 - 0.8蓝色海洋REST API - 1.3.4蓝海的REST实施 - 1.3.4基于角色的授权策略 - 2.6.1运行条件插件 - 1.0 SCM API插件 - 2.2.5脚本安全插件 - 1.36服务器发送事件(SSE)网关插件 - 1.15简单主题插件 - 0.3 SonarsQube扫描仪用于Jenkins - 2.6 .1 SSH Credentials插件 - 1.13静态分析是实用工具 - 1.93 Structs插件 - 1.10 Subversion插件 - 2.9 Team Foundation Server插件 - 5.126.0节流并发构建插件 - 2.0.1时间戳 - 1.8.8令牌宏插件 - 2.3变体插件 - 1.1 Web for Blue Ocean - 1.3.4 Windows Slaves插件 - 1.3.1工作区清理插件 - 0.34

1 回答

  • 0

    首先,自己回答这些问题:

    • 是否有其他CPU密集型进程在同一个Jenkins服务器上运行?

    • 高IO也可能导致巨大的CPU负载,磁盘IO如何?

    • 当JVM在RAM和分页上运行不足时,JVM可能会增加CPU负载,从而导致应用程序性能下降 .

    所以你的故障排除步骤应该是:

    • 您的CPU是否支持多线程?如果它是单线程的并且您启动了多个线程,那么结果可能就是这样 .

    • 找到每个进程的平均CPU利用率,是任何占用CPU周期的东西(不应该这样 . )

    • 整体RAM使用情况 .

    • 磁盘IO性能指标 - 当您不期望它们时,您是否看到IO的峰值?

    • 确定Jenkins发起的子进程 - 查找每个进程的平均资源利用率 . 这些是否会重载任何资源(CPU,RAM,磁盘IO?)

    根据您的发现,您应该相应地调整您的方框和流程 . 这可能意味着增加资源 .

相关问题