本文适合已经在 Shadowrocket(小火箭)中导入自有服务商配置、连接成功但网页响应或文件传输偏慢的用户。排查时固定测试对象与时间,依次检查节点状态、传输线路、协议参数和本地网络,并用 Global Routing、Connectivity Test 与重复测试结果判断问题所在。
先定义“速度慢”,再固定测试条件
“连接成功”只表示系统隧道已经建立,不表示从设备到目标网站的整条路径都处于理想状态。一次请求通常要经过本地 Wi-Fi 或蜂窝网络、系统 VPN 隧道、Shadowrocket 规则匹配、用户已有服务器以及目标站点。任一环节出现排队、丢包或解析等待,最终表现都可能是页面转圈。
先区分三类现象。第一类是启动慢:网页长时间空白,随后加载速度正常,常与 DNS、连接建立或首字节等待有关。第二类是持续慢:大文件从开始到结束都维持低速,更应检查线路吞吐、服务器负载和本地网络。第三类是抖动:速度时快时慢,视频频繁切换清晰度,通常需要关注丢包、无线干扰和高峰时段负载。
固定测试站点
选择同一个可稳定访问的网页和同一个大小明确的测试文件,不要在不同站点之间直接比较,因为目标站点自身的带宽和缓存策略不同。
固定配置
在 Home 保持同一节点、同一 Global Routing 姿态和同一网络接入方式,先连续测试 3 次并记录首次响应时间与持续传输速度。
停止后台任务
暂停照片同步、应用更新、云端备份和其他大流量任务。否则系统带宽竞争会让测试结果失去可比性。
逐项改变变量
每轮只调整一个因素,例如只更换节点或只从 Wi-Fi 切换到蜂窝网络。一次改变多个参数,无法确定是哪一项产生效果。
第一层:检查节点负载与服务器响应
节点层排查关注的是用户已有服务器能否及时接受连接并处理数据。延迟低不等于吞吐一定高:Connectivity Test 显示的毫秒值主要反映一次连接或请求往返所需时间,而持续下载速度还受到服务器出口带宽、并发负载和目标站点限制影响。
在 Home 的节点列表对当前节点执行 Connectivity Test,记录成功、超时以及延迟是否大幅波动。不同界面布局下,测试入口可能位于节点操作菜单中,以应用内当前显示为准。若 3 次结果分别为 85 ms、92 ms、410 ms,第三次明显偏离前两次,说明链路或服务器存在抖动;若每次都能快速完成,但大文件持续低速,则继续检查线路吞吐。
确认当前节点
回到 Home,查看实际被选中的服务器条目,避免把订阅分组名称误当成当前出站节点。
执行连接测试
对同一节点连续执行 3 次 Connectivity Test,每次间隔约 5 秒,记录是否成功以及延迟波动范围。
同组交叉验证
在自己的服务商配置中选择另一个已知可用节点,只改变节点并重复相同测试。若新节点恢复正常,问题更可能位于原节点或其上游路径。
核对订阅状态
Home 下拉更新已有订阅,确认服务器地址与端口仍是服务商当前提供的值。示例订阅地址只能使用类似 https://example.com/sub?token=xxxx 的格式说明,实际信息应向自己的服务商确认。
报错:The request timed out
原因与解法:连接在规定时间内没有收到响应,可能是节点暂时拥塞、线路丢包或服务器不可达。保持其他条件不变重复测试,再切换到自己配置中的另一个可用节点交叉验证。
报错:Connection reset by peer
原因与解法:远端或中间网络主动重置了连接。先核对服务器地址、端口、密码、UUID 与传输参数;配置无误但持续出现时,应由对应服务商检查服务器端状态。
报错:Failed to load subscription
原因与解法:订阅链接可能已失效、响应超时或访问条件发生变化。确认链接来自自己的服务商,在 Home 下拉刷新;仍失败时向服务商核对链接有效性。
不要仅按节点名称中的地区文字判断快慢。名称是配置标签,不能直接代表实际路由、负载和出口质量。有效判断依据应包括重复测试是否成功、延迟波动、首次响应时间以及固定文件的持续传输表现。
第二层:判断线路延迟、丢包与高峰拥塞
线路是设备到服务器之间经过的网络路径。即使服务器本身负载正常,不同接入网络、运营网络路径和时间段也可能产生明显差异。典型线路问题包括延迟稳定但偏高、延迟突然跳升、间歇性超时,以及小网页可用但长连接传输持续掉速。
线路测试的关键是做时间与接入方式对照。保持 Shadowrocket 节点和协议不变,在 Wi-Fi 下完成一轮测试,再切换蜂窝网络完成一轮。如果只有一种接入方式明显偏慢,优先检查该本地网络及其到服务器的路径,而不是直接修改协议参数。
- 低延迟且速度稳定:节点和线路当前状态基本正常,若个别网站仍慢,应检查目标站点或规则命中。
- 延迟高但稳定:路径距离或绕行可能较多,交互响应会慢,但持续传输未必完全不可用。
- 延迟波动超过数百毫秒:常见表现是视频缓冲和页面资源分批出现,需要检查丢包、无线信号与高峰拥塞。
- 测试偶尔超时:说明连接存在中断,不应只看成功那一次的最低延迟。
- 白天正常、固定时段变慢:更符合时段性负载或网络拥塞,应在相同时间连续多日复测。
| 观察结果 | 优先判断 | 下一步动作 |
|---|---|---|
| Wi-Fi 慢,蜂窝网络正常 | 路由器、无线干扰或宽带路径 | 靠近路由器、切换频段并重启网络设备后复测 |
| 两种网络都只在一个节点慢 | 节点负载或节点上游线路 | 用自有配置中的另一节点交叉验证 |
| 所有节点只在单一网站慢 | 目标站点、DNS 或规则命中 | 查看请求是否按预期走 DIRECT 或代理策略 |
| 晚间速度普遍下降 | 高峰时段拥塞 | 在早晚相同条件下各测 3 次并对比中间值 |
第三层:核对协议与传输参数开销
Shadowrocket 支持 Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 等配置类型。不同协议的握手方式、加密处理、传输层和丢包恢复机制不同,但不能脱离服务器端配置单独判断哪一种一定更快。客户端参数必须与服务器端逐项匹配。
协议层问题常被误判为线路慢。例如传输方式、TLS、SNI、路径、密码或 UUID 填写不一致时,可能出现反复握手、连接重置或完全无法连接;UDP 受限时,依赖 UDP 特性的配置可能出现测速不稳定。此时反复切换 Global Routing 不会修复参数错误。
| 配置类型 | 排查重点 | 常见判断现象 |
|---|---|---|
| Shadowsocks | 服务器地址、端口、密码与加密方式 | 任一项不一致通常导致连接失败或立即断开 |
| VMess / VLESS | UUID、TLS、SNI、Transport 与 Path | 握手超时或重置时先核对完整参数组合 |
| Trojan | 密码、TLS、SNI 与证书相关设置 | TLS 阶段异常可能表现为连接无法建立 |
| Hysteria2 | UDP 可达性、认证信息与服务器参数 | 受限网络中可能出现抖动或无法完成连接 |
| WireGuard | 密钥、Endpoint、Allowed IPs 与 MTU | 部分网站卡住而小请求正常时可检查 MTU |
保存原配置
修改前记录当前服务器地址、端口和协议参数。不要凭猜测批量调整 TLS、MTU、Transport 或 UDP 相关选项。
核对服务端信息
将 Home 中节点详情与自己的服务商当前配置逐项比较,尤其检查大小写、路径前导斜线、SNI 和端口。
只改一个参数
每次只修正一个明确不一致的字段,保存后重新连接并重复同一测试,避免无法回溯。
恢复原值
如果调整后没有改善或出现新错误,立即恢复已记录的原配置,再继续排查其他层。
MTU 只应在有明确分片或特定网站卡顿证据时调整。数值过大可能造成部分数据包无法通过,数值过小则增加包头比例与处理次数。不要把某个网络环境下有效的 MTU 数值直接复制到所有配置。
第四层:排除本地 Wi-Fi、蜂窝网络与后台流量
本地网络是最容易被忽略的一层。设备距离路由器过远、同频干扰、路由器长时间高负载、宽带上行被占满,都会让 Shadowrocket 表现为延迟升高。此时关闭连接后访问本地站点也可能变慢,因此应先做不开启与开启连接的对照。
Wi-Fi 信号图标满格只代表设备收到的无线信号较强,不直接表示互联网出口无拥塞。2.4 GHz 覆盖范围通常较大,但更容易受到同频设备影响;5 GHz 在近距离下通常有更高可用带宽,但穿墙衰减更明显。具体频段名称和切换方式由路由器决定。
关闭后台传输
暂停云端照片同步、系统备份、应用更新与局域网文件传输,等待约 30 秒后重新测试。
靠近路由器
在无遮挡的近距离位置测试同一节点。如果延迟波动明显下降,优先处理无线覆盖或干扰问题。
切换接入网络
保持节点、协议和 Global Routing 不变,从 Wi-Fi 切换到蜂窝网络,重复相同网页和文件测试。
重建网络连接
关闭 Shadowrocket 连接开关,重新连接当前网络,再打开连接。若仍异常,可按设备与路由器正常操作流程重新启动后复测。
检查 On Demand
进入 Settings → On Demand,确认规则没有在 Wi-Fi 与蜂窝网络切换时反复连接或断开。排查期间可记录原设置后暂时停用,再手动连接测试。
报错:Network is unreachable
原因与解法:设备当前没有可用网络路径,或网络切换期间路由尚未恢复。先确认 Wi-Fi 或蜂窝网络本身可访问,再关闭并重新打开 Shadowrocket 连接。
报错:The Internet connection appears to be offline
原因与解法:系统检测不到可用互联网连接。先在关闭 Shadowrocket 的情况下验证本地网络,恢复接入后再重新建立系统 VPN 隧道。
检查 Global Routing、规则命中与 DNS 等待
速度问题也可能来自流量走错路径。Shadowrocket 的 Global Routing 常见姿态包括 Proxy、Direct、Config 与 Scene。Proxy 让流量统一使用代理策略,Direct 让流量直接连接,Config 按 Config 中的规则从上到下匹配,Scene 则按设置的场景处理。排查时必须确认当前姿态与预期一致。
如果 Global Routing 停在 Direct,当前节点不会承担相应代理流量;如果停在 Proxy,本应 DIRECT 的本地资源也可能绕行。日常使用 Config 时,规则顺序尤其重要,Shadowrocket 命中第一条符合条件的规则后通常不再继续向下检查,因此宽泛规则放在前面可能遮住后续精确规则。
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
上例仅用于说明匹配顺序:example.com 先按 DOMAIN-SUFFIX 使用 PROXY;局域网地址按 IP-CIDR 直接连接;其余符合 GEOIP 条件的流量使用 DIRECT;未命中前述规则的请求最终落到 FINAL。实际策略名称必须与自己的 Config 中定义一致。
DNS 等待常表现为首次打开域名很慢,但同一页面刷新后加快。排查时可比较访问域名与访问已知可用 IP 资源的差异,但不要随意填写未知 DNS 地址。还应检查 Config 中是否存在需要解析后才能判断的 GEOIP 或 IP-CIDR 规则,以及 `no-resolve` 是否用于不需要触发解析的场景。
- 在 Home 确认 Global Routing 当前是 Proxy、Direct、Config 还是 Scene,并记录测试前状态。
- 使用 Config 时,从规则顶部向下查找目标域名可能命中的第一条 DOMAIN-SUFFIX、DOMAIN-KEYWORD、GEOIP、IP-CIDR 或 FINAL。
- 若只有首次请求慢,重点记录 DNS 解析与首字节等待;若建立连接后持续低速,回到线路和服务器吞吐层排查。
- 排查完成后恢复原有 Global Routing 姿态,不要把临时使用的 Proxy 测试姿态当作长期结论。
现象:Connected but no traffic
原因与解法:系统隧道已建立,但规则、DNS 或服务器出站没有产生有效响应。先检查 Global Routing 是否误设为 Direct,再用 Config 逐条确认目标域名的首个命中结果。
按固定顺序复测并记录结论
完成单层调整后,应回到最初的固定测试对象,而不是更换网站后凭主观感受判断。建议记录日期、时间、接入网络、节点标签、协议、Global Routing、3 次延迟、首次响应表现和持续速度。只要记录字段一致,后续就能识别是偶发波动还是稳定差异。
延迟很低,为什么下载仍然慢?
延迟反映单次往返时间,不代表服务器出口和整条路径的持续吞吐。固定一个大小明确的文件连续测试 3 次,同时检查节点负载和高峰时段线路表现。
换节点后立刻变快,能直接下结论吗?
先在相同网络、相同 Global Routing 和相同测试对象下重复 3 次。若原节点持续慢而新节点持续正常,才能把范围收窄到原节点或其上游线路。
Wi-Fi 慢但蜂窝网络正常怎么办?
保持 Shadowrocket 配置不变,靠近路由器复测,并暂停后台同步。近距离恢复正常时检查无线覆盖;仍慢时检查路由器负载和宽带路径。
订阅更新失败会影响已有节点吗?
已有条目可能暂时保留,但无法取得服务商后续配置变化。先在 Home 下拉更新;出现 Failed to load subscription 时,向自己的服务商确认链接与访问条件。
应该长期使用 Proxy 测试吗?
Proxy 适合在排查时验证统一代理路径,但会绕过 Config 的分流结果。测试结束后应恢复原姿态,并检查 DOMAIN-SUFFIX、GEOIP、IP-CIDR 与 FINAL 的实际命中顺序。
- 先在当前网络和当前节点完成基线测试,连续记录 3 次结果。
- 只更换节点,判断服务器负载或节点上游路径是否异常。
- 只切换 Wi-Fi 与蜂窝网络,判断本地接入和线路差异。
- 核对协议参数,不凭猜测改动端口、TLS、Transport 或 MTU。
- 检查 Global Routing、Config 规则顺序与 DNS 首次响应。
- 恢复原设置,用相同对象再测 3 次,并保留中间值作为结论。
Shadowrocket 是 Apple 平台的付费商业应用,iPhone 与 iPad 是主要使用设备,商店兼容性栏也可能列出 Mac、Apple TV 与 Apple Vision;系统要求以 App Store 页面标注为准。唯一获取入口是 App Store,产品页开发者应显示为 Shadow Launch Technology Limited,应用 ID 为 932747118,购买方式为一次性买断。客户端购买与用户自己的线路服务是两笔不同事项。