延迟有数值不等于传输速度正常。排查时先固定测试目标,区分首次打开慢、持续传输慢与间歇断流,再依次检查本地网络、已有节点、到节点的线路、协议参数和规则命中。本文适用于已经拥有自己的服务商与订阅的用户;每轮只改一个条件,记录结果后再决定是否保留修改。
先分清:延迟、吞吐量与首次打开时间
Shadowrocket 的连接测试反映特定测试方式下的可达性或响应时间,不能代替持续传输测试。一次连接可以很快建立,但后续数据仍可能受拥塞、丢包、服务端负载或目标站点限制影响。不同测试方式得到的延迟也不宜直接比较。
先选一个自己正常使用的网站和一份有权访问、大小固定的文件。网页用于观察首次响应,文件用于观察持续吞吐量;不要把两个不同站点的结果当成同一条线路的对照,也不要同时运行多个传输任务。
| 可观察表现 | 优先检查 | 验证方式 |
|---|---|---|
| 首次打开等待,打开后正常 | DNS、连接建立、目标响应 | 对比首次与再次打开同一页面 |
| 文件持续传输很慢 | 线路、节点负载、目标限速 | 同一文件连续观察 30 秒 |
| 传输时快时停 | 丢包、无线信号、拥塞 | 固定节点,对比 Wi-Fi 与蜂窝网络 |
| 只有一个站点慢 | 站点自身、规则、目标方向线路 | 同一节点访问另一独立站点 |
注意单位:Mbps 是每秒兆比特,MB/s 是每秒兆字节。仅按单位换算,8 Mbps = 1 MB/s;实际传输还包含协议开销。例如“延迟 80 ms,文件速度 0.5 MB/s”只是一种可能的记录组合,并不能据此断定节点正常或异常。本文数字用于说明记录方法,不是实测成绩。
第一层:固定条件,检查 iPhone 本地网络
先确认慢是否发生在 Shadowrocket 之外。对不需要代理即可访问的同一目标,在断开连接后做基线测试;这一步会使用本地网络直接访问,只选择适合直接访问的内容。若本地基线也慢,应先处理 Wi-Fi、蜂窝信号或网络本身。
-
记录当前状态
在 Home 记下所选节点,在 Home → Global Routing 记下当前姿态;同时记录 Wi-Fi 或蜂窝网络、测试目标与时间。不要先清空配置。
-
暂停自动连接
进入 Settings → On Demand,记录原有设置后暂时关闭 On Demand,再回到 Home 关闭连接开关。确认系统没有立即重新建立连接,以免误把代理访问当作直连基线。
-
检查本地基线
暂停设备上的其他大流量任务,靠近路由器,访问固定目标。若 Wi-Fi 需要网页认证,先完成认证;信号格数较多并不能证明出口没有拥塞。
-
更换接入网络
恢复 Shadowrocket 连接并保持同一节点,分别在 Wi-Fi 与蜂窝网络测试同一目标,每种条件重复三次。蜂窝测试会消耗移动数据,按自己的套餐控制测试量。
-
恢复原有设置
记录结果,恢复需要使用的 Global Routing 与 On Demand 设置。若只有一个接入网络慢,优先查该网络,不要同时修改节点协议和 DNS。
切换 Wi-Fi 与蜂窝网络也会改变运营商出口,因此这个对照定位的是“本地接入及其后续路径”,不能单凭结果认定路由器损坏。若靠近路由器后明显改善,而同一网络其他条件未变,无线覆盖或干扰才更值得优先检查。
第二层:区分节点端点与到节点的线路
节点是连接的服务端端点,线路是设备到该端点以及端点到目标之间的数据路径。节点延迟低,只说明某次探测很快;它不说明服务端可用带宽、当前负载,也不说明服务端访问目标站点的速度。地理位置接近也不必然意味着实际路由更短。
- 同网络、换已有节点:在 Home 选择自己已有订阅中的另一个节点,保持测试目标和 Global Routing 不变。只有一个节点持续慢,重点核对该端点及其到目标的路径。
- 同节点、换网络:节点不变时,Wi-Fi 慢而蜂窝正常,说明接入网络或到节点的路径存在差异,不能直接归因于节点整体性能。
- 同节点、换时段:在相近条件下分别记录忙时与闲时表现。若仅在特定时段下降,拥塞是待验证因素;一次测试不足以确认服务商限速。
- 同节点、换目标:多个目标中只有一个慢,应检查该目标自身响应、所走规则和节点到该目标的路径,而不是立即替换所有配置。
订阅更新用于重新获取服务商发布的节点信息,不会自动增加带宽。只有在自己的服务商确认端点信息已变更时,才需要在 Home 更新对应订阅,并检查所选节点是否仍为预期条目。更新成功与速度改善是两件事;更新后应重新记录端点,避免把节点变化误认为其他设置的效果。
第三层:核对协议参数,不盲目改端口
Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 对应不同的连接与传输机制,客户端参数必须与自己的服务端配置一致。它们不是可以在同一节点上任意切换的速度档位。若服务端仅提供一种协议,单独修改客户端的 Type 通常会使连接失败。
在 Home 打开当前节点的编辑页,按服务商提供的信息核对地址、端口、凭据,以及该协议实际使用的 TLS、Server Name、传输路径等参数。只核对适用于当前节点的字段,不要为追求速度额外开启一组不匹配的选项。
- 端口不是提速开关:
443是 HTTPS 常用端口,但将节点端口改成443,不会让服务端自动监听该端口,也不会自动启用 TLS。 - 关注底层传输:Hysteria2 使用基于 UDP 的 QUIC,WireGuard 也使用 UDP。当前网络若限制 UDP,可能出现握手失败或持续断流;应通过自己的服务商已提供的其他可用配置做对照。
- 保留证书验证:证书验证用于确认连接对象。遇到验证错误时核对系统时间、Server Name 与服务端证书,不应把跳过验证当作提速方法。
- 避免盲调 MTU:小请求正常、大传输反复停顿可能与路径 MTU 有关,也可能是丢包或目标限速。先记录现象;只有具备服务端依据时才调整相关参数,并保留原值。
如果要比较协议,只比较自己服务商已经提供、参数完整的连接,并尽量固定端点地区、目标、网络与时间。即使某项更快,结论也只适用于这组测试条件,不能推广为某个协议在所有网络都更快。
第四层:确认 Global Routing 与规则实际命中
排查速度前需要确认请求是否经过预期路径。在 Home → Global Routing 中,Proxy 用于将可代理流量交给代理处理,Direct 使用直连路径,Config 按当前配置处理。若使用 Scene,应先确认当前场景实际应用的配置与策略;场景切换会使两次测试不再具备相同条件。
可以短暂使用 Proxy 与 Config 对同一目标做对照,测试后恢复原设置。如果 Proxy 正常而 Config 慢,优先检查目标命中了哪条规则、使用了哪个策略,以及策略最终选择了哪个节点。Proxy 也不意味着所有域名解析行为都必然相同,仍需结合 DNS 设置判断。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
以上只是规则段语法示意,不是建议整段替换现有配置。DOMAIN-SUFFIX 按域名后缀匹配,IP-CIDR 按地址段匹配,GEOIP 按 IP 地理归属匹配,FINAL 接住前序未匹配的请求。规则按顺序检查;自定义策略名还必须在完整配置中有对应定义。
- 在 Config 确认当前使用的是预期配置,而不只是列表里保存了该配置。
- 查看目标请求的连接记录,核对规则、策略和最终出站;不要只凭 Home 中所选节点推断所有请求的路径。
- 若仅首次打开慢,检查 DNS 查询是否超时或反复重试。DNS 影响解析阶段,通常不能解释已建立连接后的全部持续吞吐下降。
- 不要一次更换多个 DNS 地址。先保留原值,只改一项,再观察同一目标的首次响应和后续传输是否分别改善。
错误记录:把连接失败与低速分开处理
如果问题实际是反复连接失败,先修复失败,再测速度。以下是网络日志中可能出现的错误片段;具体显示取决于连接阶段和底层返回信息,不保证每次都出现同样措辞。记录错误时连同发生时间、网络和节点一起保存。
报错:i/o timeout
原因与解法:某个网络读写步骤超过等待时间,原因可能是丢包、路径不可达或远端未响应;先辨认发生在解析、连接还是传输阶段,再固定节点切换接入网络对照,不要仅凭超时就重置配置。
报错:connection refused
原因与解法:连接请求被目标端点或路径中的设备明确拒绝,常见于端口没有相应服务;核对当前节点地址和端口,并向自己的服务商确认端点是否可用。
报错:no such host
原因与解法:当前解析过程未得到所需主机地址,可能涉及域名拼写、记录或解析器;先确认报错域名属于节点还是目标网站,再检查对应域名与 DNS 配置。
提交记录前隐藏订阅链接、token、密码、私钥和其他认证信息。可以保留协议名称、错误片段、网络类型、发生阶段及对照结果;这些信息通常比一张只有延迟数字的截图更有助于定位。
常见追问:如何判断排查结果
延迟很低,为什么视频还是缓冲?
延迟只覆盖探测请求,视频还依赖持续带宽、丢包率和内容服务器。保持同一节点,分别测试另一段视频与一个固定文件;若只有某个内容来源慢,先检查该来源及其规则命中,不要把低延迟当作带宽保证。
换一个节点马上变快,就确定原节点有问题吗?
这说明两条连接的整体条件不同,但节点负载、路径和目标出口都可能变化。回到原节点再重复一次,并保持目标与网络相同;只有差异能重复出现,才适合把记录交给自己的服务商进一步确认。
关闭连接后又自动连上,怎么做基线?
先进入 Settings → On Demand,记录后暂时关闭自动连接,再回 Home 断开。若设备还有其他受管理的连接规则,应先确认其状态。完成基线测试后恢复原设置,避免改变后续日常连接行为。
全部已有节点都慢,需要重新购买客户端吗?
客户端购买与线路带宽是不同事项。先完成本地基线与另一接入网络的对照,再检查共同使用的配置和目标。客户端买断 ≠ 线路套餐;重复购买不能替代对线路、端点与配置的排查。
收尾:保留一份可复现的对照记录
排查结束后,只保留经过重复验证有效的修改,恢复临时切换的姿态与开关。无法确认收益的改动应回退,避免多个变量叠加,导致下一次故障无法比较。可按下面格式记录,不必填写任何认证信息。
测试目标:同一网页或固定文件
测试条件:同一 iPhone,暂停其他大流量任务
接入网络:Wi-Fi / 蜂窝网络
所选连接:自己的节点标签,不含凭据
Global Routing:Config / Proxy / Direct / Scene
实际命中:规则、策略、最终出站
观察窗口:每轮 30 秒,每组重复 3 次
记录内容:首次响应、持续速度、是否断流
单项改动:本轮仅更换的一个条件
恢复检查:配置、姿态、On Demand
可靠结论应描述边界,例如“同一节点在蜂窝网络正常,在当前 Wi-Fi 下持续停顿”,而不是直接写“软件速度慢”。前一种记录能明确下一步检查方向;后一种描述把本地网络、线路、协议和目标服务混在一起,难以复现。