You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Workflow-CPS并行阶段中sh命令执行卡顿问题咨询

问题:Jenkins Workflow-CPS Parallel Step 导致Sh命令响应延迟

我们的主构建流水线使用workflow-cps的parallel步骤同时运行约50个容器,高度依赖sh命令。当并行阶段添加更多代理时,被Groovy脚本包裹的sh命令完成时间会明显变长,该现象在常规Linux静态节点和K8s Pod代理中均存在。

复现流水线代码

pipeline {
    agent none
    stages {
        stage('Build and Test') {
            parallel {
                stage('Stage1') {
                    agent {
                        kubernetes {
                            yaml """
apiVersion: v1
kind: Pod
metadata:
  name: test-pod
spec:
  containers:
    - name: test-build
      image: ubuntu
      resources:
        requests:
          memory: 4000Mi
          cpu: 4
        limits:
          memory: 4000Mi
          cpu: 4
      command: ['sleep']
      args: ['6h']
      tty: true
                            """
                        }
                    }
                    steps {
                        container('test-build') {
                            script{
                                for (int i = 0; i < 30; i++) {
                                    sh 'cat /etc/hosts'
                                }
                            }
                        }
                    }
                }
                stage('Stage2') {
                    agent {
                        kubernetes {
                            yaml """
apiVersion: v1
kind: Pod
metadata:
  name: test-pod
spec:
  containers:
    - name: test-build
      image: ubuntu
      resources:
        requests:
          memory: 4000Mi
          cpu: 4
        limits:
          memory: 4000Mi
          cpu: 4
      command: ['sleep']
      args: ['6h']
      tty: true
                            """
                        }
                    }
                    steps {
                        container('test-build') {
                            script{
                                for (int i = 0; i < 30; i++) {
                                    sh 'cat /etc/hosts'
                                }
                            }
                        }
                    }
                }
                // ... 重复添加更多相同阶段
            }
        }
    }
}

测试结果

  • 7个并行阶段:每个代理完成耗时约50秒
  • 17个并行阶段:每个代理完成耗时约120秒
  • 35个并行阶段:每个代理完成耗时约270秒
  • 对比测试:仅保留1个并行阶段,同时触发50次独立构建,每个构建仅需约15秒完成

分析与诉求

这并非通用的系统负载问题,推测parallel步骤以某种机制限制了sh命令的响应速度,怀疑与CpsFlowExecution线程的调度或资源限制有关,恳请提供针对性的解决建议。

内容的提问来源于stack exchange,提问作者SimpleNiko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 18:43:22