网易首页 > 网易号 > 正文 申请入驻

合并队列一小时能落多少PR?加流水线反而更慢

0
分享至

一个合并队列每小时能落地多少拉取请求,答案不在流水线数量上。它被两个数字卡死:队列里的变更失败有多频繁,以及CI跑一次要多久。加更多流水线,只是让更多工作一起被浪费掉。


这套逻辑和乐观锁在争用下的表现是同一个形状。每笔事务都要对着它之前提交的所有内容做校验,一次中止就把排在后面的工作全部丢掉。加worker只会增加竞争者,吞吐量由中止率和事务时间决定。代理把负载推高,天花板却留在原地。

用学校食堂打饭来理解:每个孩子都要把餐盘给厨师看,厨师拿它和之前每一个餐盘比对。厨师能同时看二十个盘子,可一旦某个盘子有问题,那个孩子出列,排在他后面的所有人都得重新出示——因为厨师刚才是拿错误的盘子做的比对。平时队伍走得挺顺,直到一个班的孩子涌进来,餐盘多了三倍。厨师没变慢,队伍照样堵住。

失败率和CI时间决定上限

设队列中失败拉取请求的占比为p,CI时间为T。两次失败之间,队列大约能落地1/p个拉取请求;每次失败会丢掉后面最多T的工作量。所以无论多少条流水线,一小时落地的数量都不会超过约1/(p × T)。

按这个公式:CI三十分钟、失败率5%,一小时约40个;开20条流水线,约24个;加到100条流水线,只买到38个,CI账单却是五倍。

失败率来自两处。一是真实的破坏:某个变更在自己的分支上通过了,却和前面某个变更冲突。二是不稳定的测试:代码没动,测试时好时坏。这类问题会累积——五十个测试各自千分之一的概率偶发失败,合起来大约每二十次运行就失败一次,也就是p = 5%。

接近上限时,等待时间会陡涨。每小时8个拉取请求的队列,平均等34分钟;把到达量提到24个,纸面上仍在上限之内,等待却超过100分钟。

先降失败率,再谈加流水线

什么时候这事要紧?仓库用了合并队列,而人或代理提交的拉取请求比上季度多了。CI跑得久、又有几个大家都在重试的测试时,影响最大。如果经常看到“removed from the merge queue”,你已经在为此付账了。

队列变慢,最直觉的修法是加并行流水线。失败一多,这招收益很小,还推高CI账单。等待的增长快过流量的增长。代理随后在过期的main上rebase,彼此冲突,在偶发失败之上又添了真实失败。一个不稳定的测试原本只是烦人,在高负载下它决定了你的吞吐量。

动手前先取上周的两个数字,不需要新工具:数一数队列合并了多少拉取请求、因检查失败被移除了多少,后者除以前者加后者,就是p;再从任意一次最近的队列运行里读出T。算出1/(p × T),和你最忙的那一小时比一比。如果忙时已经逼近上限的一半,等待就已经很长了。

顺序是:先降p——失败测试在剔除前先重试一次,把偶发失败的测试隔离出去;再缩短T,把慢检查移出队列;加流水线放最后。

具体到四个角色。管CI的人,在合并组上只跑快速的必需检查,让一个偶发失败必须失败两次才剔除拉取请求;GitHub Actions里队列触发merge_group事件,重试可用pytest-rerunfailures插件,GitLab则在任务上加retry: { max: 1, when: script_failure }。两次都失败才算失败,5%的偶发率会降到约0.25%,代价是偶发问题被藏起来,所以要配合第三个角色。

管仓库的人,按公式而不是感觉来定队列规模。GitHub用build concurrency设置流水线数(1到100),GitLab默认允许20条并行流水线。改设置前先代入自己的数字:p为5%、CI三十分钟时,二十条流水线按公式约20个/小时,模拟约24个;把p降到1%,同样二十条约33个。后者是更便宜的那个改动。

管测试套件的人,找出偶发测试——同一个提交上先失败后通过的就是。记录下来,按次数排序,把榜首的隔离掉直到修好。管代理的人,让拉取请求进队列之前先跑队列的检查,先在新鲜的main上rebase:冲突在分支上被发现只花一条流水线,在队列里被发现要花掉后面所有流水线。

一周后重算p和T。因失败被移除的数量应该先降,队列里的平均停留时间随之下降,忙时落地量向公式值靠拢。如果p降了而等待没降,说明T成了新的限制,去看哪个检查最慢。

什么时候不该调队列

量低的时候。一小时只落地几个拉取请求的团队远在任何上限之下,等待只来自CI时间,缩短CI就好,别动队列。

失败是真实的而非偶发的时候。如果被剔除的拉取请求大多是坏的,重试只是把同样的答案推迟,应该在分支上更早拦住它们。

量增长到任何队列都装不下的时候。Anthropic的合并量从2026年5月每天约2,500次涨到9月每天超过30,000次,他们不再使用合并队列,把大部分测试移到合并之后、部署之前。这用绿色的main换速度,需要快速回滚,以及能在几分钟内修好main的人或东西。这比调队列是个大得多的改动。

批量合并也有代价。更大的合并组把多个拉取请求放进一条流水线测试,一旦失败就得拆分找出元凶,反而多花运行次数。

改任何东西之前先回答三个问题:上周排队的拉取请求里,因检查失败被移除的占多少?合并组上的必需检查要跑多少分钟?你最忙的那一小时离1/(p × T)有多近?

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
台“防长”顾立雄发表严正声明

台“防长”顾立雄发表严正声明

果妈聊娱乐
2026-10-28 08:25:16
7项数据联盟第一,开拓者实在太强了!杨瀚森,你确实该考虑离开

7项数据联盟第一,开拓者实在太强了!杨瀚森,你确实该考虑离开

老梁体育漫谈
2026-10-29 00:05:45
WTT冠军赛:男单大爆冷!世界第1被淘汰!松岛辉空1:3无缘男单8强

WTT冠军赛:男单大爆冷!世界第1被淘汰!松岛辉空1:3无缘男单8强

国乒二三事
2026-10-30 05:24:56
巴基斯坦将禁止台湾航空过境,印度却唱反调,中方回应了

巴基斯坦将禁止台湾航空过境,印度却唱反调,中方回应了

兵国大事
2026-10-29 21:00:52
发不出工资了!博纳影业陷入欠薪风波,老板系知名女星金巧巧老公于冬,公司自2022年上市以来未盈利,4年多时间亏损超32亿元

发不出工资了!博纳影业陷入欠薪风波,老板系知名女星金巧巧老公于冬,公司自2022年上市以来未盈利,4年多时间亏损超32亿元

金融界
2026-10-29 22:01:52
悉尼·斯威尼内衣品牌季度销售翻倍,9月创新高

悉尼·斯威尼内衣品牌季度销售翻倍,9月创新高

娱圈观察员
2026-10-29 03:35:19
红果短剧成中国第四大APP,字节一家独揽三席

红果短剧成中国第四大APP,字节一家独揽三席

大厂财经社
2026-10-29 17:53:29
再见了,唐国强,再见了,古月,中国影视迎来新特型演员时代

再见了,唐国强,再见了,古月,中国影视迎来新特型演员时代

与笑相拥m
2026-10-25 10:48:35
72.2%三分命中率!上海队卫冕遭遇拦路虎,CBA两名帅恐下课

72.2%三分命中率!上海队卫冕遭遇拦路虎,CBA两名帅恐下课

直言说球
2026-10-30 05:37:39
提升性生活时长,这些食物要多吃

提升性生活时长,这些食物要多吃

精彩分享快乐
2026-10-25 21:00:08
巴基斯坦撤销拒绝台湾航司进入其领空的决定

巴基斯坦撤销拒绝台湾航司进入其领空的决定

辇毂
2026-10-29 10:34:09
揪心!福建 26 岁女子深夜赴约失联,嫌疑人特征公布:身高 1 米 8、脚跛、河南口音,监控拍到却跟丢

揪心!福建 26 岁女子深夜赴约失联,嫌疑人特征公布:身高 1 米 8、脚跛、河南口音,监控拍到却跟丢

秋风妃
2026-10-29 22:09:39
以色列大选投票结束,内塔尼亚胡连任的可能性,已经远远低于下台

以色列大选投票结束,内塔尼亚胡连任的可能性,已经远远低于下台

麓谷隐士
2026-10-29 00:20:04
前一天谎称“没想过离开”,第二天上演“西半球寻人”,小博索纳罗逃亡,被斥“舔美国的靴子”

前一天谎称“没想过离开”,第二天上演“西半球寻人”,小博索纳罗逃亡,被斥“舔美国的靴子”

环球网资讯
2026-10-29 07:01:11
局势陡转!泽连斯基宣布重大决定,中方罕见表态,美欧坐不住了

局势陡转!泽连斯基宣布重大决定,中方罕见表态,美欧坐不住了

关权教授聊经济
2026-10-25 21:10:12
每平方米评估单价不到2万元,北京170套独栋别墅第三次整体挂牌,会有人接盘吗?

每平方米评估单价不到2万元,北京170套独栋别墅第三次整体挂牌,会有人接盘吗?

每日经济新闻
2026-10-29 12:55:32
2026年灵活就业人员,一定要办这两个证,漏办就亏大了

2026年灵活就业人员,一定要办这两个证,漏办就亏大了

娱乐圈见解说
2026-10-29 14:51:12
奥斯卡谈姆巴佩不当言论:我很难过,希望更多外籍球员尊重中国,尊重中国人民,我在中国生活了八年,我深怀感激也倍感自豪

奥斯卡谈姆巴佩不当言论:我很难过,希望更多外籍球员尊重中国,尊重中国人民,我在中国生活了八年,我深怀感激也倍感自豪

极目新闻
2026-10-29 13:02:02
国内将逐渐停止带状疱疹疫苗?一旦注射人就废了?医生讲出实情

国内将逐渐停止带状疱疹疫苗?一旦注射人就废了?医生讲出实情

路医生健康科普
2026-10-27 13:32:39
人心隔肚皮?女子攒30万,怕变成婚后财产,想存哥哥那里,又怕嫂子心思难猜,怎么办

人心隔肚皮?女子攒30万,怕变成婚后财产,想存哥哥那里,又怕嫂子心思难猜,怎么办

丫头舫
2026-10-29 10:35:56
2026-10-30 06:24:49
我是一个粉刷匠2
我是一个粉刷匠2
有态度网友ytd
195文章数 173关注度
往期回顾 全部

头条要闻

媒体:守住不该守住的底盘 77岁的内塔尼亚胡逃出生天

头条要闻

媒体:守住不该守住的底盘 77岁的内塔尼亚胡逃出生天

体育要闻

超级黑马!球队不败 29岁的他得分榜前三

娱乐要闻

白百何被曝和二婚丈夫离婚 和男生逛街

财经要闻

两大娱乐巨头,谈崩了

科技要闻

MacBook终于能触屏了:22999元起

汽车要闻

标配宁德时代电池 智己LS8 NEO纯电预售24.98万起

态度原创

亲子
时尚
房产
旅游
公开课

亲子要闻

育见未来丨科学守护儿童营养,专家共议行业良性发展

新剧吻戏不断引猜疑!王玉雯杨玏被曝分手,团队沉默背后藏何隐情

房产要闻

12.1亿!三亚挂出重磅宅地!

旅游要闻

夜宿双廊听苍洱

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版