Jenkins 调优一般从 系统资源、Jenkins 配置、Job 设计、插件与架构 四个层面入手。下面给你一份实用型调优清单,适合中大型 Jenkins 使用场景。
Jenkins 是 Java 应用,JVM 参数直接影响性能。
推荐配置(示例,8C16G 机器):
JAVA_OPTS="-Xms4g -Xmx8g
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+ParallelRefProcEnabled
-Dhudson.model.DirectoryBrowserSupport.CSP=\"\""
建议:
-Xms 和 -Xmx 设置成 一样大,避免动态扩容# 增加文件描述符
ulimit -n 65535
调整:
在 Manage Jenkins → System 中:
✅ 关闭:
问题: 历史越多,Jenkins 越慢
方案:
Discard old builds
Days to keep builds: 30
Max # of builds: 50
Manage Jenkins → Plugins → Installed
✅ 删除:
✅ 使用 Declarative Pipeline
✅ 减少 stage 嵌套层级
✅ 避免 sh """ 写复杂逻辑
示例(推荐):
pipeline {
agent any
options {
skipDefaultCheckout true
timeout(time: 30, unit: 'MINUTES')
}
stages {
stage('Build') {
steps {
checkout scm
sh 'make build'
}
}
}
}
❌ 避免:
archiveArtifactsstash / unstash✅ 推荐:
✅ Master 不跑 Job ✅ 所有构建交给 Agent
配置方式:
pipeline {
agent { label 'build-agent' }
}
| 场景 | 推荐 |
|---|---|
| 长期稳定 | 固定 Agent |
| 弹性扩容 | K8s Pod Agent |
| 临时构建 | Docker Agent |
✅ 必装:
❌ 尽量避免:
避免频繁手动配置,减少配置错误和重启次数。
减少 Pipeline 重复代码
| 问题 | 排查点 |
|---|---|
| Jenkins 卡死 | GC 日志、内存 |
| 页面打开慢 | 插件、历史记录 |
| 构建慢 | IO、Agent、Pipeline |
| 磁盘暴涨 | 构建历史、workspace |
✅ JVM:G1 + 固定堆
✅ Master 不跑 Job
✅ 控制构建历史
✅ Pipeline 简洁
✅ Agent 弹性扩展
✅ 插件精简
如果你愿意,我可以:
你可以直接贴:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。