· 故障排查 · 约 9 分钟

Shadowrocket 速度慢排查:节点、线路、协议到本地网络的分层定位

从本地 Wi-Fi 与蜂窝网络开始,逐层排查到协议参数、线路状况和单个服务器,每层给出可在 Shadowrocket 内完成的检查动作。

本文速览

本文适用于已经在 Shadowrocket(小火箭)配置自己已有服务器或订阅、能够连接但访问缓慢的情况。按本地网络、分流路径、单个服务器、协议参数、DNS 与自动连接条件依次检查;每次只改变一个变量,用同一目标复测,区分延迟、吞吐量与连接失败,最后保留可复核的故障记录。

一、先定义“慢”:等待连接还是传输速度低

开关已打开,只能说明系统隧道处于启用状态,不能证明目标服务器与网站之间的整条路径都正常。网页首次打开等待很久、开始下载后速度低、视频播放间歇停顿,是不同现象。测试前先写下发生时间、当前 Wi-Fi 或蜂窝网络、Home 选中的服务器,以及 Global Routing 当前选项。

本地网络 系统隧道 规则分流 服务器出站 目标站点

连接测试通常只覆盖其中一部分路径。一次延迟读数较低,不代表持续传输一定更快;某个网站响应慢,也不等于所有服务器都不可用。不要把延迟数值直接换算成下载速度。

可观察现象优先检查记录方式
首次打开等待,加载后正常DNS、连接建立、TLS 握手记录首次与再次访问是否有差异
持续传输速度偏低本地带宽、服务器负载、出站线路同一资源、同一网络连续复测
频繁中断或超时网络丢包、服务器端口、UDP 可达性记录切换网络前后的结果
只有一个网站慢该域名的规则与目标站点状态增加一个不同域名作对照

二、本地网络:先做 Wi-Fi 与蜂窝网络对照

本地网络是所有后续测试的共同前提。公共 Wi-Fi 尚未完成网页认证、路由器拥塞、无线信号不稳定,都可能表现为 Shadowrocket 连接后缓慢。以下操作以 iPhone 为例;iPad 的蜂窝网络对照需要设备本身具备对应能力。

  1. 在 Home 关闭连接开关,使用 Safari 访问一个当前网络原本可以直接访问的页面。若此时也慢,先处理本地网络,不要立即改服务器参数。
  2. 完成 Wi-Fi 的网页认证,暂停设备上的大流量任务;靠近路由器后再次测试。不要同时修改 DNS 或 Global Routing。
  3. 回到 Home,选回原服务器并打开开关,以同一目标复测。
  4. 关闭 Wi-Fi,确认已经切到蜂窝网络,再以同一服务器、同一 Global Routing 选项测试。注意蜂窝数据用量。
  5. 记录两种网络下是否能够建立连接、是否仅首次访问慢、持续传输是否会中断。
2 类
本地网络对照:Wi-Fi 与蜂窝网络
1 项
每轮只改变一个测试条件
3 次
建议对同一目标重复观察,避免单次波动误判

结论:先固定能复现问题的网络

如果同一服务器只在某个 Wi-Fi 下持续异常,优先检查该网络的认证、拥塞与传输限制;先不要通过更换协议来掩盖本地网络问题。

三、Global Routing:确认请求是否经过预期路径

在 Home 打开 Global Routing,记录当前处于 Proxy、Direct、Config 还是 Scene。排查前先保存原状态,测试后恢复。不要将模式切换理解为加速操作:模式决定流量如何选择路径,不会凭空增加线路带宽。

选项排查时的含义核对动作
Proxy以全局代理路径作对照核对 Home 当前服务器,再访问同一目标
Direct以直接连接作对照只选当前网络原本可直连的目标测试
Config按当前配置的规则与策略分流进入 Config,确认实际启用的文件
Scene按所配置的场景条件应用相应设置检查当前网络对应场景,不把它当作固定代理路径

如果 Proxy 下正常而 Config 下慢,下一步应检查目标域名匹配了哪条规则,以及规则指定的策略实际选择了哪个服务器。在 Config 中查看当前配置,按顺序核对 DOMAIN-SUFFIX、IP-CIDR、GEOIP 与 FINAL;其中 FINAL 是没有更早规则匹配时的兜底,不能覆盖前面已匹配的规则。

DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY

以上只演示规则语法,不是建议直接替换的完整配置。example.com 是示例域名;实际诊断应围绕发生问题的目标进行。使用策略组时,还要检查组内当前选择,不要仅凭规则行末写着 PROXY 就认定使用了 Home 中预期的服务器。

四、单个服务器与线路:用现有配置交叉验证

这里的服务器或“节点”均指用户自己已有服务中的连接条目。服务器入口、入口到出口之间的线路、出口到目标站点的路径,任一环节拥塞都可能降低速度。客户端显示的延迟无法单独定位是哪一段拥塞。

  1. 在 Home 对当前服务器执行 Connectivity Test,记录测试方式、结果和时间;有读数不代表大流量传输已经验证。
  2. 保持本地网络和 Global Routing 不变,切换到自己已有的另一个服务器,访问同一目标。
  3. 如果只有一个服务器异常,打开其编辑页,对照原始资料核对地址、端口、协议与认证参数。
  4. 如果多个服务器都只对同一网站缓慢,再测试另一个目标,区分出口到目标的路径问题与普遍传输问题。
  5. 在不同时间重复同一组测试。仅晚间异常可作为负载或拥塞线索,但还需要服务端状态或线路记录佐证。

订阅地址可能包含访问凭据。向自己的服务方反馈时,提交服务器别名、时间、网络类型和测试结果即可;不要把完整订阅地址、密码或私钥附在公开记录中。本手册只说明用户已有服务的核对方法。

五、协议参数:先核对连接条件,再判断传输表现

Shadowsocks、VMess、VLESS、Trojan、Hysteria2 与 WireGuard 的连接条件不同,不能只改协议名称来进行对比。测试另一种协议必须已有对应的服务端配置;相同端口号也不代表协议可以互换。例如端口 443 只是端口标识,不足以判断使用了哪种协议或传输。

协议应与服务端一致的项目容易误判的现象
Shadowsocks地址、端口、加密方式与密码认证不匹配造成失败,不是带宽低
VMess / VLESS用户标识、传输类型,以及相应 TLS、Host、Path 参数传输路径错误可能在连接建立阶段超时
Trojan密码、TLS 与服务端要求的 Server NameTLS 握手失败可能表现为页面一直等待
Hysteria2认证、TLS、UDP 可达性与相应带宽设置基于 QUIC 的连接受当前网络 UDP 条件影响
WireGuard密钥、Endpoint、隧道地址及路由相关参数有配置条目不等于 UDP 握手已完成

在 Home 打开服务器编辑页,逐项对照自己保存的原始配置。不要为了测试而关闭证书验证;应修正服务器名称、证书或设备时间等实际问题。也不要把 MTU 和带宽参数设成任意大值:MTU 关系到报文尺寸,带宽参数应按对应服务的说明设置,不是通用加速开关。

报错:connection refused

原因与解法:连接被目标端口或中间设备主动拒绝;先在 Home 的服务器编辑页核对地址和端口,再请自己的服务方确认该端口正在监听,反复修改分流规则不能解决端口拒绝。

报错:i/o timeout

原因与解法:某次读写未在期限内完成,单凭这条信息不能判断是拥塞还是不可达;记录它发生在测试、握手还是传输阶段,切换本地网络并用原服务器复测。

以上是连接过程中可能出现的错误文本,具体显示取决于失败环节和底层实现,并非所有连接失败都会显示相同文字。反馈时保留实际原文,不要把所有异常都概括成“速度慢”。

六、DNS 与 On Demand:处理首次访问慢和网络切换后异常

DNS 影响域名解析,连接复用、解析缓存与目标站点缓存又会改变再次访问的表现。因此,首次打开慢、刷新后快只能作为解析或连接建立问题的线索。把 HTTPS 网址直接换成 IP 也不是可靠验证方法,证书、Server Name 与站点分发可能随之改变。

  1. 在 Settings 中检查 DNS 相关设置,同时检查 Config 当前文件的 DNS 配置,先记录已有的解析地址与覆盖项。
  2. 核对当前网络是否能到达所配置的解析服务,以及代理路径与直接路径是否存在不同结果。不要同时替换多个解析地址和分流规则。
  3. 只调整一个已确认有问题的项目,重新连接后访问同一域名,并记录首次与后续访问的差别。
  4. 如果异常只发生在切换 Wi-Fi 或蜂窝网络后,进入 Settings → On Demand,记录当前自动连接条件。
  5. 临时关闭 On Demand,在 Home 手动断开再连接,验证当前网络下的实际结果;测试结束后恢复原有自动连接设置。

结论:把自动连接与传输性能分开验证

若手动重连后恢复,而网络切换后重复异常,先核对 On Demand 条件与 Scene 对应设置,不要直接把问题归因于协议吞吐量。

七、常见追问与可提交的排查记录

延迟更低的服务器,为什么下载反而更慢?

延迟测试与持续传输衡量的内容不同。固定 Global Routing 和目标资源,在 Home 切换两个已有服务器,分别重复测试;记录传输是否稳定,而不是只按一次延迟排序。

只有晚上卡,是不是协议选错了?

先用原协议、原服务器、同一目标在两个时间段复测,再切换本地网络。若多次出现相同时间规律,将记录交给自己的服务方核对负载与线路,不能仅凭发生时间断定协议问题。

切到 Proxy 就正常,需要一直这样用吗?

先恢复 Config,在 Config 当前文件中查找目标域名对应规则与策略组选择。修正误匹配或失效策略后再测试;Proxy 是对照条件,不是必须长期保留的修复。

更新订阅以后变慢,应该重新添加吗?

先确认 Home 当前选择是否变化,再打开条目核对地址、端口与协议。若服务方已调整参数,应以有效配置为准;不要为了回到旧测速结果反复覆盖现有条目。

完成排查后,记录应能让另一位检查者复现条件,而不是只包含“很卡”。可按下面的清单填写本次真实观察,不需要披露认证信息。

Shadowrocket 是 Apple 平台的付费客户端,以 iPhone、iPad 使用为主,唯一获取入口为 App Store。开发者为 Shadow Launch Technology Limited,应用 ID 为 932747118。客户端一次性买断费用与用户已有服务的线路费用分别核算;系统要求、购买适用设备与范围以 App Store 页面标注为准。

App Store 正版核对