Prhub

#21800 [Misc] Tiny: Add test network timeouts and dynamic max-parallel for 5090/2-gpu runners

原始 PR 作者 hnyls2002 合并时间 2026-04-01 09:27 文件变更 4 提交数 6 评论 2 代码增减 +30 / -16

执行摘要

添加测试网络超时和动态并行度配置以优化 CI 稳定性。

根据 PR body 表述,动机是:'Add explicit timeouts to external network requests in test utilities to prevent silent CI hangs' 和 'Add dynamic max-parallel for stage-b-test-1-gpu-small (5090) and stage-b-test-2-gpu-large (2-gpu-h100), matching the existing H100 pattern',以解决 CI 挂起和优化资源分配问题。

对于技术管理者和工程师,此 PR 值得关注以了解 CI 基础设施的优化模式,特别是超时设置和并行度配置;对于核心开发者,无需深究代码细节,但可借鉴类似维护实践。

讨论亮点

本次 PR 未经过 review 讨论,所有变更由作者直接合并,提交历史显示作者通过多次提交调整超时值和修复格式,但无外部评审交互。

实现拆解

实现方案分为两部分:

1) 测试文件超时添加:在 python/sglang/test/simple_eval_common.pydownload_dataset 函数中添加 timeout=120,在 python/sglang/test/simple_eval_mgsm.pyget_lang_examples 函数中添加 timeout=30,在 python/sglang/test/vlm_utils.pyget_or_download_file 函数中添加 timeout=30,以防止外部网络请求无限等待。
2) CI 工作流重构:在 .github/workflows/pr-test.yml 中修改 set-parallel 步骤,引入 max_parallel_smallmax_parallel_2gpu 变量,根据 scheduled run 或 high priority label 设置不同并行度(例如 full parallelism 或 throttled)。

文件 模块 状态 重要度
.github/workflows/pr-test.yml CI modified 7.0
python/sglang/test/simple_eval_common.py test modified 5.0
python/sglang/test/simple_eval_mgsm.py test modified 5.0
python/sglang/test/vlm_utils.py test modified 5.0

关键符号

download_dataset get_lang_examples get_or_download_file

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

无 review 讨论 other

本次 PR 未经过 review 讨论,作者自行合并变更。

结论:变更由作者直接实施,无外部评审结论。 · 已解决

风险与影响

技术风险包括:

1) 超时值设置可能不合理(如 30 秒或 120 秒),在某些网络环境下导致测试因超时而失败,影响稳定性;
2) 并行度调整可能引发 CI 调度问题或资源争用,尤其是在多 runner 类型场景下;
3) 提交历史中 'Revert localhost request timeouts' 表明作者已注意到并修复本地请求超时问题,但外部超时仍存在潜在配置风险。

影响分析:对最终用户无直接影响,主要影响 CI 系统和测试团队。系统层面,提升 CI 测试的稳定性和减少因网络问题导致的挂起;团队层面,优化 GPU 资源使用效率,缩短测试等待时间,但需监控超时异常和并行度调整效果。

超时配置风险 并行度调整影响

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论