Mihomo自动选择没切到最低延迟:tolerance容差与检查时间怎么核对

· Mihomo url-test容差 使用指南

以100毫秒候选和130、150、170毫秒当前项的三组差值,读懂50毫秒容差的严格边界,再区分固定选择、检查间隔、懒惰检查与资料新鲜程度。

Mihomo的url-test组里,A显示100毫秒,当前B显示130毫秒,为什么仍然选B?先看切换容差,再看数字来自哪次检查。自动选择并不等于每次看见更小的数字就立即换目标。本文用固定条件下的三个小例子,读懂tolerance、检查间隔和当前选择之间的关系,再决定是否真的需要调整。

两条候选路径与精密间隙量具构成的原创url-test容差封面
比较对象是当前检查条件下的差值,画面不是某条线路的测速记录。

先确认看的确实是url-test组

从客户端提供的配置查看方式确认内核名称、版本、当前配置与组名,再看组类型是否为url-test。外层手动组可能引用一个自动组,两个层级的当前状态需要分别辨认。不要看到组名叫“自动”就断定它采用某一种算法,组名由配置作者填写,类型字段才描述这里讨论的组类别。

接着核对当前组里的有效候选,记下是否直接列在proxies中,或来自其他来源。若更新之后候选名单已经变化,先按本站代理集合与策略组引用的核对方法确认对象,再分析为什么选中某一项。名单里的A和B必须是同一组当前实际存在的对象。

容差看毫秒差值,不看快了百分之几

维护者的自动选择文档把tolerance说明为节点切换容差,单位是毫秒。下面把容差设为50,仅用于计算教学,不是推荐参数。当前官方仓库的选择逻辑会比较既有选择与较低延迟候选之间的差距;在相关条件保持成立时,只有差距超过容差,才因为这项差距更换自动选择。

为了把条件固定清楚,本例列表顺序为A、B,当前自动选择是第二项B;A与B都在组内,检查时都可用,没有固定某个候选,其他选择条件不变。A的检查值为100毫秒,B为130毫秒,相差30毫秒,未超过50。因此继续保留B可以符合本例逻辑,不需要因为A的数字更小就认定自动组故障。

若B变为150毫秒,差值恰好50;本篇核对的代码使用严格“大于”比较,这个边界仍不因容差项切换。若B为170,差值70超过50,才满足本例的差值切换条件。这里写“可切A”,是因为具体版本、候选可用性与其他状态仍要一起核对,不能拿一张表代替读者设备的实际结果。

最快候选A当前候选B差值容差50毫秒时的本例解释
100毫秒130毫秒30毫秒保留B
100毫秒150毫秒50毫秒保留B
100毫秒170毫秒70毫秒达到差值切换条件

30毫秒的差距,不是“容差30%”。把100和130算成百分比,再与50比较,就换了原字段的含义。同样,容差50也不是允许请求等待50秒。先统一单位,再做减法,能避免把一个选择策略问题误写成线路完全不可用。

100毫秒候选与130、150、170毫秒当前项在50毫秒容差下的原创三行比较图
三行只展示本篇固定前提下的差值判断,不包含失效、名单变化或固定选择的分支。

这张表的前提变化后,要换问题

如果当前B已经从组里消失,或检查结果判定它不可用,便不应继续沿用“它只比A慢30毫秒,所以保留”的解释。维护者当前实现另有既有对象缺失、不可用等处理条件。先保留实际错误或候选变化,再交给维护者核对,不为了证明容差有效而忽略失效状态。

当前实现也检查明确设置的选择。假如客户端为这个自动组提供了固定某项的操作,先核对是否曾经使用,以及此刻的状态是否仍存在。具体外壳界面如何显示与撤销,需要查它自己的说明;不要凭另一款客户端截图寻找同名开关。自动计算与人为固定选择是两类条件,要把自己的操作记录清楚。

比较数字之前,先把检查时间对齐

通用字段中的interval是健康检查间隔,单位为秒;timeout是健康检查超时,单位为毫秒。比如interval为300表示这一配置项的间隔是300秒,而不是300毫秒。超时项即使写5000,也是在描述最多等待的检查条件,不能当作某个候选这次测得了5000毫秒。

维护者还说明lazy默认为true,在未选择到当前组时不进行测试。因此,离开这个组一段时间后再看面板,不能只凭两个数字就假设它们刚刚一起刷新。先查看客户端是否提供检查时间、刷新状态或错误提示;没有这些信息,就把新鲜程度标成待确认,而不是说“实时最低值不生效”。

组层健康检查地址对直接列出的代理与通过集合引入的对象还有作用范围区别,通用文档对此有单独注释。不要改一个组层url后,就默认所有来源的检查目标都一起改变。由集合引入的候选,应同时核对相应集合的检查设置与当前版本说明;先把对象和测试来源记清楚,比继续缩短间隔更有价值。

用一张小记录,把显示和判断分开

记录可以只保留:内核版本、配置代号、组名与类型、候选来源、检查地址代号、检查时间、当前选择、各候选值及tolerance。私人地址用一致代号替换,保留同一对象的对应关系即可。对外提供片段可参考本站配置和求助材料脱敏说明,不需要公开整份订阅。

一条有用的记录是:“组G为url-test,A、B直接列入,当前B;同一次有效检查A100、B130,容差50,未固定候选,因此本次保留B可由差值解释。”若检查时间未知,则把后半句改为“需确认检查批次”,不要把表中的自编数值填成自己的实测。

再看一个时间错位的例子:A的100来自上午十点,B的130来自十点十分,中间还更换过无线网络。这两项虽然都能做减法,却缺少同条件比较的前提。记录原时间和网络变化,在当前允许的检查方式中取得可对照结果,再讨论30毫秒差值;不要把旧数字截图反复当作新的异常证据。

另一个常见漏项是只截取候选表,漏掉组名与当前标记。面板中同时显示多个组时,先确认130对应的B确实属于正在判断的自动组,且“当前B”来自这个组的状态,而非外层手动组。截图保留足够辨认对象的范围,整理文字时再用代号替换,不把不同层级的数字拼成一行。

如果准备改变容差,先问自己希望解决什么现象。需要的是减少小波动下的反复更换,还是认为某次更大差距未被处理?先保留原值与选择状态,再在合适的维护时间按客户端支持方式做单项对照。不要一并改检查目标、来源、规则和超时,否则很难解释哪个变化影响了选择。

两枚候选标记与间隙量具、沙漏并置的原创容差和时间场景
差距大小与资料新鲜程度需要一起看,静物不代表真实硬件或测量设备。

最终仍按实际任务评价

url-test里的数值针对它的检查目标与条件。它能帮助解释这个组如何选择,不能直接替代网页、文件或通话的完整体验。读懂“本次为何保留B”以后,再观察自己获准使用的真实任务,分别记录是否完成和具体异常;不要仅为把面板标记移到最小数字旁边而连续更改参数。

本文于2026年10月29日核对Mihomo自动选择说明、通用检查字段与官方仓库当前选择实现。表格数值与配图为自编教学材料,未执行读者的健康检查或切换操作;不同发行版本需核对对应文档和代码。