2026-10-19 · 故障排查 · 约 10 分钟

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

把网速慢拆成节点、线路、协议、本地网络四层,每层给出可在 iPhone/iPad 上自行验证的方法,逐层排除,定位真正的瓶颈。

本文速览

适用于用户已有自己的服务商与订阅、Shadowrocket 已能连接但打开网页或传输文件缓慢的情况。先区分延迟、吞吐和解析等待,再固定测试条件,依次检查本地网络、节点、线路与协议。每轮只改变一项,最终得到能复现的故障记录,而不是反复更换所有设置。

一、先定义“慢”:延迟、吞吐与首屏等待

Shadowrocket(小火箭)的连接开关处于开启状态,只说明系统隧道已经启动,并不证明每个目标都能正常访问。Home 中的延迟测试也不是持续带宽测试:一次探测成功,不能排除稍后发生的丢包、拥塞、远端限速或目标站点响应缓慢。

先确定问题发生在哪个阶段。点击链接后长时间没有内容,可能是 DNS 解析、连接建立或 TLS 握手等待;页面很快显示文字,但图片一直加载,可能是资源请求或持续传输受限;视频开始正常、随后反复缓冲,则需要观察连续数分钟的吞吐变化。不要仅凭一个毫秒数判断线路质量。

现象与优先检查项
可观察现象优先检查对照方法
只有首次打开慢DNS、连接建立、TLS同一页面连续打开三次,分开记录首次与后续表现
开始快,随后持续变慢吞吐、拥塞、服务端限速用同一文件连续传输 60 秒,记录中段速率
只有一个网站慢目标服务、分流结果、节点出口保持节点不变,换两个用户日常使用的目标验证
所有应用同时变慢本地接入、当前节点、共同链路先比较 Wi-Fi 与 Cellular,再比较已有节点

注意单位:Mbps 是每秒兆比特,MB/s 是每秒兆字节。理想换算中,80 Mbps 约等于 10 MB/s;实际应用还存在协议开销。不要把应用显示的 8 MB/s 与套餐描述的 80 Mbps 直接当成十倍差距。

二、建立可重复的测试基线

开始前保存当前使用的配置,并记下 Home 中选中的节点、Global Routing 姿态以及测试时的网络。以下步骤使用你已有的参数,不涉及获取新的连接服务。测试尽量在短时间内完成,避免把不同时段的网络负载误认为设置差异。

  1. 记录现场

    在 Home 记下当前节点与 Global Routing;到 Config 确认当前配置。检查 Settings → On Demand 是否设置了自动连接条件,只记录原状态,不必为了测速先修改它。

  2. 固定目标

    选择一个平时可访问的网页和一个允许测试的固定文件。每轮使用相同目标,暂停云同步、照片上传和其他大流量任务,避免它们抢占带宽。

  3. 检查分流

    在 Home → Global Routing 查看当前选择。Config 按配置规则处理请求,Proxy 用于代理姿态,Direct 用于直连姿态;使用 Scene 时还需确认场景实际采用的设置,不能只看场景名称。

  4. 重复测量

    每种条件测三轮,每轮持续约 60 秒,记录中位表现。不要同时切换节点、协议与网络;测试前重新建立目标连接,避免浏览器复用旧连接或缓存掩盖变化。

  5. 恢复原配置

    完成临时对照后恢复原来的 Global Routing 和配置。如果曾调整 On Demand,也恢复原条件,再用日常应用验证,避免诊断设置影响后续使用。

三、本地网络层:先比较 Wi-Fi 与 Cellular

同一节点在 Wi-Fi 下慢、切到 Cellular 后恢复,说明变化与接入网络有关,但还不能直接断定路由器损坏。两种接入使用不同的运营商路径,差异也可能出现在接入网络到节点之间。先把故障范围缩小,再决定检查路由器还是联系自己的服务商。

网络切换后应重新开始一次请求,不要仅观察原先仍在下载的任务。已有连接可能因地址变化而中断或等待重试。如果故障只在切换后出现,可手动断开再连接 Shadowrocket 验证;On Demand 主要决定何时自动建立连接,并不是提高带宽的开关。

四、节点与线路层:把服务端差异和时段差异分开

这里的“节点”指 Home 中的一组服务端连接参数;“线路”指设备到该服务端、再到目标服务的网络路径。换节点通常也会改变出口位置与网络路径,因此“换一个就快”只能证明差异与所换路径相关,不能仅凭这一结果认定旧服务器性能不足。

本地应用 接入网络 节点入口 代理服务端 出口路径 目标服务

在用户已有的节点中选两个作对照,优先保持协议、目标和本地网络相同。如果只有一个节点持续缓慢,核对其服务状态、用量限制与参数是否变更。如果多个节点只在晚间缓慢,白天恢复,应记录时段,而不是立即重建全部配置。共享链路拥塞、入口负载与目标服务负载都可能产生这种现象。

记录示例:以下是假设数据,不是产品性能承诺
固定条件变更项示例读数可得结论
同一 Wi-Fi、同一文件节点 A 换为节点 B0.8 MB/s 变为 5.2 MB/s继续比较两个节点及其路径,不先改本地 DNS
节点 A、同一文件Wi-Fi 换为 Cellular0.8 MB/s 变为 4.6 MB/s优先查接入网络与到节点的路径
同一节点、同一 Wi-Fi14:00 与 21:005.0 MB/s 变为 0.7 MB/s存在时段相关性,需要多日复测支持判断

同时核对自己的服务商后台是否有流量耗尽、到期或速率限制。Shadowrocket 的 Data 读数与服务商计费口径可能不同,不能用本地某一个累计数字直接否定后台限制。若需要更新已有订阅,先保存配置,再按原订阅入口更新,并核对选中节点的参数是否确实发生变化。

五、协议层:先核对参数,再考虑传输差异

在 Home 打开当前服务器的编辑页面,按已有服务商参数核对 Type、地址与端口。端口号本身不代表协议或速度:服务端指定 443 时就填 443,不能因为另一个端口看起来常见便自行更换。修改本地端口不会让服务端自动提供相应服务。

协议对照需要服务端本来就支持对应入口,不能只在 Type 中把 VLESS 改成 Trojan 来测试。即使两个入口都可用,也可能位于不同服务器,测到的差距不一定来自协议。先比较完整参数与网络条件,再讨论协议开销。

报错:i/o timeout

原因与解法:某个网络读写阶段超过等待时间,单靠这行不能确定故障位置。查看同条记录的目标与上下文,核对地址、端口,并用另一种本地网络复测同一节点。

报错:connection refused

原因与解法:目标端口拒绝了连接,可能是服务未监听或中间设备主动拒绝。按已有参数检查端口,并向自己的服务商确认入口状态,不要通过反复测速处理。

报错:certificate verify failed

原因与解法:TLS 证书验证未通过,需结合完整错误确认原因。检查系统日期时间、Server Name 与服务端证书状态,不以关闭证书验证作为提速步骤。

错误文字可能来自不同连接组件,具体呈现以实际记录为准。持续报错应先按连接失败处理;不要把不断重试造成的长时间等待误判为可用带宽偏低。

六、规则与 DNS:确认请求实际走了哪里

如果同一节点在 Proxy 下正常、回到 Config 后变慢,优先检查当前 Config 的规则与 DNS 行为。规则决定请求如何处理,DNS 决定域名如何解析,两者不是同一个开关。不要一次同时替换配置、解析服务器和节点,否则无法判断是哪项改变起了作用。

不建议直接用 IP 地址替代 HTTPS 域名作通用测速。这样可能改变证书校验、TLS Server Name、虚拟主机与 CDN 路径,测试对象已经不再相同。应使用正常域名请求,结合连接记录判断解析是否完成、最终采用了哪条策略。

七、常见追问与排查收尾

延迟只有几十毫秒,为什么下载还是慢?

延迟反映短时响应,下载需要持续传输。固定节点与文件,连续测 60 秒并重复三轮;若吞吐低但延迟稳定,继续检查限速、负载与出口路径,不要仅按延迟排序下结论。

切到 Proxy 就快了,要一直这样用吗?

先把它视为规则排查线索。记录 Home → Global Routing 的对照结果,回到 Config 检查目标请求的匹配规则;诊断完成后恢复符合日常需求的姿态。

换了网络后卡住,重新连接就好了?

先用新建请求验证,排除旧连接等待重试。再到 Settings → On Demand 核对自动连接条件,记录手动连接与自动连接的差异;不要把重复重连当成固定提速方案。

所有已有节点都慢,下一步提交什么信息?

提供测试时间、接入类型、目标类型、三轮读数和已做过的单变量对照。附上脱敏错误记录,隐藏密码、UUID、密钥及订阅链接中的 token,向自己的服务商确认服务状态。

排查结束后,把结论写成可复现条件,例如“同一节点、同一目标,Wi-Fi 下三轮均低速,Cellular 下恢复”,而不是只写“Shadowrocket 很慢”。若只有单一目标异常,继续检查该目标与出口的关系;若所有目标都异常,再按共同的接入或节点路径检查。没有形成对照前,不急于归因。

App Store 正版核验