Jenkins 作为 CI/CD 的核心工具,随着任务增多、并发构建增加,性能问题会逐渐显现。下面从系统层面、JVM 层面、Jenkins 配置、插件与任务设计、架构扩展五个维度,系统性地讲解 Jenkins 性能调优方法。
ulimit -n 65535
在 /etc/security/limits.conf 中永久生效
sysctl vm.swappiness=10
Jenkins 是 Java 应用,JVM 参数对性能影响巨大。
JAVA_OPTS="-Xms4g -Xmx4g
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+ParallelRefProcEnabled
-XX:+DisableExplicitGC"
Manage Jenkins → System → # of executors✅ Master 只做调度,不做构建
历史数据过多会严重拖慢 Jenkins
Manage Jenkins → System → Build Discarders
options {
buildDiscarder(logRotator(
numToKeepStr: '20',
daysToKeepStr: '30'
))
}
Jenkins → Configure → Enable security → Prevent Cross Site Request Forgery exploits(视情况)常见性能杀手:
✅ 定期执行:
Manage Jenkins → Manage Plugins → Installed
删除未使用插件
✅ 避免
sleep✅ 推荐
agent none:pipeline {
agent none
stages {
stage('Build') {
agent { label 'build' }
}
}
}
parallel {
stage('A') {}
stage('B') {}
}
echo / println✅ 使用:
podTemplate {
node(POD_LABEL) {
stage('Build') {
sh 'make'
}
}
}
jstat -gc <pid> 1000
jstack <pid>
Manage Jenkins → System InformationMonitoring(推荐插件)1️⃣ Master 不做构建
2️⃣ 限制构建历史
3️⃣ JVM 参数优化
4️⃣ SSD + 足够内存
5️⃣ 使用 Agent / K8s
6️⃣ Pipeline 设计合理
如果你愿意,可以告诉我:
我可以针对你的环境给出精准调优方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。