先定义“慢”:延迟、带宽与响应时间不是一回事
Clash 或 mihomo 面板里显示的延迟只有几十毫秒,网页仍可能打开缓慢;反过来,一个延迟为 180 ms 的节点也可能稳定跑满宽带。原因是延迟、丢包、可用带宽和网站响应时间描述的是不同环节。排查前若只盯着节点列表中的一个数字,很容易把线路拥塞误判成客户端故障。
| 现象 | 优先检查 | 判断重点 |
|---|---|---|
| 点击网页后停顿 2 至 5 秒,随后加载正常 | DNS、本地规则、IPv6 | 首个请求是否卡在域名解析或连接回退 |
| 测速开始很快,数秒后降到较低速度 | 节点负载、线路拥塞、限速 | 持续吞吐是否稳定,是否只在晚高峰下降 |
| 视频能打开,但频繁降低清晰度 | 持续带宽、丢包、分流结果 | 视频域名是否进入预期策略组 |
| 浏览器正常,游戏或商店客户端很慢 | TUN 模式、UDP、系统代理覆盖范围 | 目标程序的连接是否真正进入 mihomo |
| 所有节点同时变慢 | 本地网络、运营商线路、DNS | 直连基线是否也发生下降 |
建立可重复的测试基线
开始切换节点之前,先固定测试条件。建议关闭正在同步文件、下载更新或播放视频的应用,让同一台设备连接同一个路由器,并选定两个测试目标:一个用于观察网页首开时间,另一个用于持续下载。每轮测试至少进行 3 次,记录中位数,不要用单次峰值下结论。
- 在客户端切到“直连”模式,记录本地宽带的延迟和下载速度。
- 恢复“规则”模式,固定同一个测试节点和同一个测试地址。
- 分别在上午、晚间 20:00 至 23:00 测试,比较时段差异。
- 记录客户端当前模式、节点名称、下载速度、首开等待和是否出现超时。
第一层:节点侧检查延迟、负载与协议状态
节点侧问题通常表现为同一策略组内只有少数节点明显变慢,切换到其他地区或其他入口后立即恢复。这里要区分“延迟测试能通过”和“节点具备稳定吞吐”两个结论。Clash 面板中的延迟测试通常是通过指定 URL 发起连接并测量响应时间,它能筛除失联节点,但不能直接代表大文件下载速度。
用策略组做同条件横向比较
进入客户端的“代理”页面,找到当前规则实际引用的策略组。以常见桌面客户端为例,可沿“代理”→“节点选择”查看组内节点;如果使用 Clash Verge Rev,可在“设置”→“Clash 设置”确认当前运行模式,再回到“代理”页面切换节点。不要一边更换节点,一边修改 DNS、TUN 或规则,否则无法判断是哪项变化产生效果。
- 先选 3 个同地区节点,分别执行延迟测试 3 次。
- 延迟波动超过 100 ms,或连续出现超时,优先视为节点或入口不稳定。
- 延迟稳定但下载速度低,再进行至少 60 秒的持续下载测试。
- 同地区全部偏慢时,增加一个不同地区节点作为对照。
- 只有单个节点慢,直接更换节点通常比继续调整本地参数更有效。
倍率不等于速度
订阅面板中常见的“0.5 倍”“1 倍”“2 倍”通常表示流量计费倍率,不是速度倍数。一个 2 倍节点不会天然比 1 倍节点快两倍;它可能采用不同线路,也可能只是流量扣除比例不同。判断速度仍应依据实测吞吐、丢包和时段稳定性。
自动测速组可能选到“低延迟、低带宽”节点
url-test 策略组会按测试 URL 的响应结果自动选择节点。若测试目标返回的数据很小,某个节点可能因握手快而胜出,但其持续带宽并不理想。可以适当增大测试间隔,避免频繁切换;也可以把稳定性接近的节点放入同一组,而不是把所有地区混在一起。
proxy-groups:
- name: 自动选择
type: url-test
proxies:
- 节点-A
- 节点-B
- 节点-C
url: https://www.gstatic.com/generate_204
interval: 300
tolerance: 80
interval: 300 表示每 300 秒测试一次,tolerance: 80 用于减少延迟差异较小时的频繁切换。这里的 URL 只负责可用性与响应测试,不应被当作完整带宽测试。修改订阅生成的配置前,还要确认客户端更新订阅时是否会覆盖本地改动。
第二层:线路侧判断高峰拥塞、丢包与路由变化
线路问题位于本地运营商、跨网互联、入口服务器和出口服务器之间。它经常具有明显的时间特征:白天速度正常,晚间 20:00 后延迟升高;或者移动网络正常,家庭宽带变慢。此时反复重装客户端、删除配置通常不会改变结果。
用时间和接入网络做交叉验证
| 对照结果 | 更可能的问题层 | 下一步 |
|---|---|---|
| 同一节点白天 150 Mbps,晚间降至 15 Mbps | 高峰拥塞或节点晚间负载 | 换入口、地区或低峰时段复测 |
| 家庭宽带慢,手机热点正常 | 固定宽带出口或跨网路径 | 保留同节点,比较两种接入网络 |
| 所有节点与直连同时变慢 | 本地接入、Wi-Fi 或运营商故障 | 有线连接路由器并测试直连 |
| 亚洲节点正常,远距离节点普遍抖动 | 长距离路由与丢包 | 优先选择距离较近的入口 |
测试时应保持节点和客户端设置不变,只切换网络。例如先通过家庭 Wi-Fi 测试,再使用手机热点测试。若热点环境下速度从 12 Mbps 恢复到 90 Mbps,说明客户端和节点至少能够提供更高吞吐,问题更可能出现在家庭宽带到节点入口的路径上。
延迟波动比单个低延迟更值得关注
连续测试得到 58 ms、61 ms、64 ms,通常比 28 ms、190 ms、超时更稳定。后者虽然出现过更低数字,但抖动和丢包会导致 TCP 重传,下载速度随之下降。视频、远程桌面和游戏还会对抖动更敏感。
在 Windows 中可先用 PowerShell 检查节点入口端口能否建立 TCP 连接。把示例主机和端口替换为订阅节点实际使用的值:
Test-NetConnection example.com -Port 443
ping example.com -n 20
在 macOS 或 Linux 中可进行连续延迟观察:
ping -c 20 example.com
curl -x http://127.0.0.1:7890 -o /dev/null -s -w "connect=%{time_connect} total=%{time_total}\n" https://www.gstatic.com/generate_204
示例中的 7890 是常见混合端口,不是固定值。实际端口应在客户端“设置”→“端口设置”或配置文件的 mixed-port 字段中确认。若命令返回连接被拒绝,先检查 mihomo 是否运行、端口是否一致,而不是直接判断远端节点失效。
第三层:本地设置检查 DNS、规则命中与代理冲突
如果多个节点表现相近,而且更换网络后问题仍然存在,就应回到本地配置。常见症状包括网页首次打开慢、某个应用不走代理、规则模式慢而全局模式正常,以及开启 TUN 后速度突然下降。本地层应按“连接是否进入内核、规则是否选对策略、DNS 是否顺畅”的顺序检查。
先看连接日志,不要只看节点名称
打开客户端的连接或日志页面,然后重新访问出现问题的网站。常见客户端可从“日志”或“连接”页面查看目标域名、命中的规则和最终策略。应确认三个信息:域名是否被 mihomo 捕获、命中了哪条规则、最终使用了哪个策略组与节点。
- 若连接记录中完全没有目标应用流量,检查系统代理或 TUN 接管范围。
- 若目标域名命中
DIRECT,但预期应代理,检查规则顺序和规则集更新状态。 - 若命中了错误地区的策略组,回到“代理”页面检查组内当前选择。
- 若日志持续出现 DNS 超时,优先处理解析链路。
- 若同一请求重复建立连接,检查系统中是否还有另一套代理软件。
Clash 规则从上到下匹配,先命中的规则生效。过于宽泛的规则放在前面,可能让后续精确域名规则失效。例如 GEOIP,CN,DIRECT 通常应位于域名规则之后、最终 MATCH 之前。调整时一次只移动一类规则,重新载入后再从连接日志验证。
rules:
- DOMAIN-SUFFIX,example.net,代理节点
- DOMAIN-KEYWORD,stream,媒体策略
- GEOIP,CN,DIRECT
- MATCH,代理节点
用全局模式做短时对照
当规则模式很慢时,可以短暂切换到全局模式,用同一节点访问同一目标。如果全局模式立即恢复,而规则模式持续缓慢,问题通常不是节点带宽,而是规则命中、DNS 分流或某些资源走了不同路径。测试结束后应切回规则模式,再根据日志修正规则,不建议长期用全局模式掩盖配置问题。
DNS 慢常表现为“先卡住,后面很快”
域名解析超时会拉长首个请求。尤其在多个 nameserver 质量差异较大、IPv6 可解析但连接不可达,或系统 DNS 与 mihomo DNS 路径混用时,浏览器可能等待失败连接回退。可以在配置中统一 DNS 处理,并确认客户端已成功加载配置。
dns:
enable: true
listen: 0.0.0.0:1053
ipv6: false
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- https://223.5.5.5/dns-query
- https://1.1.1.1/dns-query
ipv6: false 适合用于验证 IPv6 回退是否造成等待,并不代表所有网络都应永久关闭 IPv6。如果本地和代理链路均完整支持 IPv6,可以恢复后重新测试。fake-ip 能让域名流量更早进入规则判断,但局域网设备、部分游戏和依赖真实地址的服务可能需要加入 fake-ip-filter。
检查系统代理与浏览器代理是否叠加
桌面环境里常见的冲突是:客户端已经设置系统代理,浏览器扩展又把流量转发到另一个端口;或者旧客户端退出后仍留下系统代理地址。此时请求可能绕行两次,甚至在本机形成失败重试。
- 进入客户端“设置”→“系统代理”,确认当前开关状态。
- 进入“设置”→“端口设置”,记录 HTTP、SOCKS 或 mixed 端口。
- 检查浏览器代理扩展,暂时改为跟随系统代理。
- 检查操作系统网络代理,确认地址通常为
127.0.0.1,端口与客户端一致。 - 完全退出其他代理客户端,再复测首开和持续下载。
若配置使用 mixed-port: 7890,HTTP 和 SOCKS 客户端都可以连接该端口。不要同时把同一浏览器请求先交给 SOCKS 扩展、再转到系统 HTTP 代理。对于只需要浏览器代理的场景,系统代理已经生效时,扩展通常只需保持直连或跟随系统设置。
TUN 模式专项:应用接管、MTU 与 UDP
TUN 模式通过虚拟网卡接管不遵循系统代理的应用流量,适合游戏客户端、命令行工具和部分商店应用。但它引入了额外的路由、DNS 劫持与数据包处理环节。若“关闭 TUN 正常,开启 TUN 变慢”,应检查 TUN 配置,而不是先更换全部订阅节点。
先判断是否只有 TUN 路径受影响
- 固定一个节点,在系统代理开启、TUN 关闭时测试浏览器。
- 保持节点不变,开启 TUN,再测试相同地址。
- 查看连接页面,确认两轮测试命中同一规则和同一节点。
- 若只有开启 TUN 后下降,检查虚拟网卡冲突、MTU 和网络栈。
tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
stack: mixed 是 mihomo 常见的兼容选择。若设备同时运行 VPN、虚拟机、容器网络或游戏加速工具,自动路由可能选错出口网卡。此时可先退出其他会创建虚拟网卡的软件,再重启客户端测试。不要同时修改 stack、MTU 与 DNS 劫持,否则难以定位具体原因。
MTU 不合适时的典型表现
MTU 问题可能造成小网页能开、大文件卡住,或者特定站点上传失败。可以从较保守的数值开始对照,例如在 TUN 配置中测试 mtu: 1400,确认有效后再逐步调整。不同系统、宽带拨号和上层隧道的合适数值并不相同,因此 1400 只是排查起点。
tun:
enable: true
stack: mixed
mtu: 1400
auto-route: true
auto-detect-interface: true
如果修改 MTU 后大文件下载明显恢复,而节点和规则均未变化,说明分片或路径 MTU 发现可能参与了故障。若没有改善,应恢复原配置,继续检查 DNS 和线路,而不是不断降低数值。
订阅与内核状态:排除旧配置和版本错配
订阅更新失败不会必然让所有节点离线,有时客户端仍在使用缓存配置,导致节点入口、规则集或 DNS 参数长期未更新。排查时应确认“订阅更新时间”和“当前运行配置”是同一份内容。更新订阅后还要执行应用或重新载入,不能只看到下载完成就认为内核已经切换。
检查订阅更新时间与配置载入结果
- 在“订阅”或“配置”页面查看最后更新时间,确认不是数周前的缓存。
- 手动更新后检查是否出现 HTTP 超时、鉴权失败或内容为空。
- 更新成功后选择该配置并重新载入。
- 进入日志页面,确认配置解析成功,策略组和规则集已生成。
- 如果订阅包含覆写功能,检查本地覆写是否仍适配当前字段。
旧版 Clash 配置迁移到 mihomo 时,基础的代理、策略组和规则结构通常仍可使用,但部分扩展字段、TUN 参数和规则集行为可能随版本变化。出现配置载入错误时,应先根据日志定位字段,而不是删除整个订阅。内核版本可以在客户端“设置”→“内核”或“关于”页面查看;不同客户端的菜单名称会略有差异。
十分钟排查流程与结果判断
当故障正在发生时,可以按下面的顺序快速缩小范围。核心原则是每轮只改变一个变量,并记录变化前后的结果。
- 第 1 分钟:关闭后台下载,用直连模式测一次本地基线。
- 第 2 至 3 分钟:恢复规则模式,固定测试节点,记录延迟、首开时间和 60 秒下载速度。
- 第 4 分钟:切换同地区另一个节点。只有原节点慢,归入节点侧。
- 第 5 分钟:切换不同地区节点。全部代理节点慢但直连正常,继续判断线路或本地设置。
- 第 6 分钟:用手机热点复测同一节点。热点恢复,优先判断家庭宽带路径。
- 第 7 分钟:查看连接日志,核对规则、策略组和目标节点。
- 第 8 分钟:短暂切换全局模式。全局恢复则重点检查规则和 DNS。
- 第 9 分钟:关闭浏览器代理扩展和其他代理客户端,消除本地叠加。
- 第 10 分钟:对比 TUN 开关;只有 TUN 慢时,再检查虚拟网卡、MTU 和 DNS 劫持。
| 最终结果 | 判断 | 处理方向 |
|---|---|---|
| 换一个节点立即恢复 | 单节点负载或入口异常 | 更换节点,观察原节点后续状态 |
| 同地区都慢,其他地区正常 | 地区入口或对应线路拥塞 | 临时选择其他地区 |
| 热点正常,固定宽带慢 | 接入运营商或跨网路径问题 | 更换入口并分时段复测 |
| 全局正常,规则模式慢 | 规则命中或 DNS 分流问题 | 按连接日志修正规则 |
| 浏览器正常,独立应用慢 | 系统代理未覆盖该应用 | 检查 TUN 或应用内代理 |
| 关闭 TUN 恢复 | TUN 路由、MTU 或虚拟网卡冲突 | 逐项调整 TUN 配置 |
| 直连和代理都慢 | 本地网络或运营商接入异常 | 改用有线、重测路由器与宽带 |
排查记录应该保留哪些数据
如果需要向订阅服务方、网络管理员或客户端项目反馈问题,只说“速度慢”很难复现。应提供可比较的数据,但不要公开订阅地址、节点密码或完整配置。推荐保留测试日期、时段、接入网络、客户端版本、mihomo 内核版本、节点地区、运行模式和测试结果。
测试时间:2026-06-20 21:30
接入网络:家庭宽带,有线连接
运行模式:规则模式,TUN 开启
本地直连:286 Mbps
节点 A:延迟 72 ms,持续下载 18 Mbps
节点 B:延迟 81 ms,持续下载 96 Mbps
手机热点 + 节点 A:74 Mbps
规则命中:MATCH → 代理节点
现象:晚间下降,白天恢复
这组记录可以直接支持判断:节点 A 在家庭宽带晚间路径下表现较差,而节点 B 和手机热点对照说明客户端基础设置并未完全失效。相比反复清空配置,这类分层证据更容易找到真正需要更换或调整的环节。