diff --git a/.github/ci/deepseek-v4-pro-agg/patch-perf.yaml b/.github/ci/deepseek-v4-pro-agg/patch-perf.yaml index 6b85afc54dd0..0a00e103dd2e 100644 --- a/.github/ci/deepseek-v4-pro-agg/patch-perf.yaml +++ b/.github/ci/deepseek-v4-pro-agg/patch-perf.yaml @@ -24,7 +24,7 @@ spec: - name: ENDPOINT value: dsv4-pro-agg-frontend:8000 - name: CONCURRENCIES - value: "1 8 64 128 256 512 1024" + value: "128" volumes: - name: model-cache persistentVolumeClaim: diff --git a/.github/ci/kimi-k25-agg/patch-perf.yaml b/.github/ci/kimi-k25-agg/patch-perf.yaml index 0ba0bd2c3009..b0edc796ad6a 100644 --- a/.github/ci/kimi-k25-agg/patch-perf.yaml +++ b/.github/ci/kimi-k25-agg/patch-perf.yaml @@ -21,9 +21,9 @@ spec: - name: perf env: - name: CONCURRENCIES - value: "1" + value: "20" - name: BENCHMARK_DURATION - value: "60" + value: "120" volumes: - name: model-cache persistentVolumeClaim: diff --git a/.github/workflows/shared-recipe-perf.yml b/.github/workflows/shared-recipe-perf.yml index dd68d7904bec..a1551ead463b 100644 --- a/.github/workflows/shared-recipe-perf.yml +++ b/.github/workflows/shared-recipe-perf.yml @@ -257,15 +257,17 @@ jobs: if: ${{ success() && !inputs.preflight_only }} timeout-minutes: 5 run: | + concurrencies=$(yq -er '.spec.template.spec.containers[] | select(.name == strenv(PERF_CONTAINER)).env[] | select(.name == "CONCURRENCIES").value' "$ARTIFACTS/perf.yaml") if [[ "$RECIPE" == kimi-k25-agg ]]; then + [[ "$concurrencies" =~ ^[1-9][0-9]*$ ]] shopt -s nullglob - profiles=("$ARTIFACTS"/perf/*/*_trace_c1_*/profile_export_aiperf.json) + profiles=("$ARTIFACTS"/perf/*/*_trace_c"$concurrencies"_*/profile_export_aiperf.json) (( ${#profiles[@]} == 1 )) - jq -e '.request_count.avg > 0 and (.error_request_count.avg // 0) == 0 and + # The CI trace has 20 conversations with 10 turns each. + jq -e '.request_count.avg == 200 and (.error_request_count.avg // 0) == 0 and .output_sequence_length.avg > 0 and .was_cancelled != true' "${profiles[0]}" exit 0 fi - concurrencies=$(yq -er '.spec.template.spec.containers[] | select(.name == strenv(PERF_CONTAINER)).env[] | select(.name == "CONCURRENCIES").value' "$ARTIFACTS/perf.yaml") for concurrency in $concurrencies; do jq -e --argjson requests "$((concurrency * 3))" ' .request_count.avg == $requests and (.error_request_count.avg // 0) == 0 and