平行线路网络

代理速度很慢怎么排查?按这套顺序定位问题

更新于 2026-10-27 · xn--gwtw23etrg7yf.shop

简答:代理速度很慢时,先不要急着换订阅或修改一堆参数。先用同一个目标地址做直连与代理对比,再用 curl 记录 DNS、TCP、TLS、首包和总耗时,最后交叉测试节点、时间段和目标网站。这样通常能判断问题更接近本地网络、代理节点、线路拥塞、DNS,还是目标网站本身。

定义:代理速度慢是指代理连接后出现连接建立慢、首字节等待久、持续下载速率低、视频缓冲或间歇性超时等现象,不能只用一次 Ping 延迟判断。

先试这一步:固定目标,做直连和代理对照

先选一个你确实需要访问的 HTTPS 页面或公开测试文件,记录测试时间、网络方式、客户端、节点、协议和目标地址。不要同时更换节点、DNS、TUN 和规则,否则无法判断是哪一环发生变化。

测试项怎么做主要看什么下一步
直连基线关闭系统代理或客户端后访问同一目标页面是否正常、首包是否明显变慢直连也慢,先查本地网络或目标站
代理请求使用同一目标、同一时间测试代理连接时间、首包时间、总耗时只代理请求慢,重点查节点、线路和协议
不同节点每次只更换节点,其他条件不变延迟、首包和下载速度是否同步变化只有个别节点慢,优先固定较稳定节点
不同目标测试两个不同域名或服务是否只有一个网站慢单站点慢时检查目标站、CDN 或地区响应

下面的命令适用于 Windows PowerShell、macOS 和 Linux。将 https://example.com/ 换成你有权限访问的目标地址;将 PROXY_URL 换成客户端实际提供的 HTTP 或 SOCKS 代理地址,不要把账号密码直接写进命令历史。

curl -L -o /dev/null -sS --connect-timeout 15 --max-time 60 -x "$PROXY_URL" -w "dns=%{time_namelookup}s tcp=%{time_connect}s tls=%{time_appconnect}s ttfb=%{time_starttransfer}s total=%{time_total}s speed=%{speed_download}B/s code=%{http_code}\n" "https://example.com/"

curl 官方文档说明,--proxy 用于指定代理,time_namelookup、time_connect、time_appconnect、time_starttransfer 和 time_total 分别可用于观察解析、连接、TLS、首字节和总耗时。可参考 curl 官方命令行手册。

根据指标判断:到底是哪一段慢

  • DNS 时间明显偏高:先检查客户端是否接管 DNS、系统 DNS 是否频繁超时,以及 IPv4 和 IPv6 是否走了不同路径。不要只因为更换 DNS 后一次测试变快,就认定线路已经改善;至少用同一目标重复测试。
  • TCP 连接时间高:可能与本地网络丢包、节点端口拥塞、路由绕行或节点不可达有关。先切换到同地区的另一个节点,并保留原节点结果。
  • TLS 已建立但首字节很慢:连接本身不一定是主要问题,可能是代理出口到目标站的路径、目标站处理时间或服务端限流。浏览器性能面板也可以查看 DNS、TCP、TLS 和响应开始时间;这些指标的定义可参考 MDN Navigation Timing 文档。
  • 首字节正常但下载速度低:重点检查节点带宽、并发连接、下载任务数量、协议传输方式和目标站限速。先暂停其他下载与视频任务,再用同一文件重复测试。
  • 数值时快时慢:记录至少三次结果,比较不同时间段、Wi-Fi 与有线网络、IPv4 与 IPv6。单次最快结果不能代表稳定速度。

TTFB,也就是首字节时间,包含请求开始到收到第一批响应数据的时间,并可能受到 DNS、TCP、TLS 和服务端处理影响;因此“Ping 很低但网页仍慢”并不矛盾。相关定义可查看 MDN 对 TTFB 的说明。

Windows、macOS 和 Linux 的基础网络检查

Windows

在 PowerShell 或命令提示符中执行:

  • ping -n 20 example.com:观察延迟波动和是否出现请求超时。Ping 只代表 ICMP 探测,不等于真实网页或下载速度。
  • tracert /d example.com:观察到目标的大致路径。Microsoft 文档说明,tracert 会逐步增加 TTL 来显示路径,某些路由器不返回超时报文时出现星号并不一定代表最终连接失败。参考 Microsoft Learn 的 tracert 文档。
  • curl.exe -I --connect-timeout 15 https://example.com/:确认 HTTPS 请求是否能在合理时间内建立。

macOS 或 Linux

打开终端执行:

  • ping -c 20 example.com:记录平均延迟、最大延迟和丢包情况。
  • traceroute -n example.com:观察路径中是否存在明显波动或连续超时。
  • curl -I --connect-timeout 15 https://example.com/:确认目标站的 HTTPS 响应。

如果直连测试正常、代理测试异常,再在客户端日志中查看当前节点、规则命中、DNS 请求和连接错误。若启用了 TUN,暂时切换到系统代理模式进行对照;若切换后恢复,重点检查 TUN、路由、DNS 或 IPv6,而不是直接判断节点带宽不足。

常见症状与处理动作对照表

症状优先检查处理动作
所有网站都慢本地 Wi-Fi、系统代理冲突、DNS、节点负载改用有线或手机热点对照,关闭重复代理,重新测试
只有一个网站慢目标站、CDN、地区出口或会话状态更换另一个目标验证,不要马上修改全局配置
网页打开慢但下载尚可DNS、TLS、首包、规则分流用 curl 分解时间,检查是否走错规则或重复解析
下载开始快,随后变慢节点带宽、并发、连接池或目标站限速暂停其他任务,降低并发,换节点后重复测试
间歇性超时丢包、IPv6 路径、MTU、无线干扰对比 IPv4/IPv6、Wi-Fi/热点,并检查客户端日志

不要把节点延迟直接等同于下载速度。路由追踪只能帮助观察路径和部分延迟,不能单独证明某一跳就是故障点;需要结合真实代理请求、丢包和业务结果判断。

提交问题或更换线路前,先整理这份记录

  1. 记录测试日期和时间、所在地区、运营商或网络类型。
  2. 固定一个目标 URL,并分别测试直连和代理。
  3. 记录节点地区、协议、客户端模式、是否启用 TUN、DNS 模式和 IPv4/IPv6 状态。
  4. 保存三次 curl 输出:DNS、TCP、TLS、TTFB、总耗时、HTTP 状态码和下载速度。
  5. 补充 ping 和 traceroute/tracert 结果,隐藏订阅地址、令牌、账号、Cookie 和完整出口信息。
  6. 只在确认问题集中于某个节点或某条线路后,再联系服务方核查节点负载、带宽、并发限制、计费状态或线路变更;客户端文档不能证明这些商业条件。

如果换网络、换节点和换目标后只有某个节点持续异常,可以把它标记为“待服务方核查”,而不是直接下结论。若所有节点都慢,优先回到本地网络、DNS、系统代理冲突、TUN、MTU 和 IPv6 路径继续排查。

常见问题

代理能连接但网页打开很慢,应该先换节点吗?

先不要直接换节点。先用 curl 记录 DNS、TCP、TLS、首字节和总耗时,再用同一目标测试另一个节点。如果只有一个节点的连接或首包明显变慢,再考虑固定其他节点并保存对照结果。

Ping 延迟很低,为什么下载速度还是慢?

Ping 主要反映 ICMP 往返延迟,不能代表代理协议、TLS、目标站响应或持续下载带宽。应使用真实代理请求测试首包和下载速度,并检查并发、节点负载及目标站限速。

tracert 或 traceroute 出现星号,是不是线路一定坏了?

不一定。部分路由器不会返回 TTL 超时报文,因此中间跳出现星号并不等于最终目标不可达。要结合最终请求是否成功、丢包、总耗时和业务表现判断。

网页慢、视频卡和下载慢,需要用同一种方法排查吗?

不完全相同。网页重点看 DNS、TLS 和首字节;视频还要看持续吞吐和缓冲;下载要看稳定速度、并发和目标站限速。建议固定各自的目标和测试方式,不要用单一 Ping 结果代替全部判断。

什么时候应该联系服务方或更换线路?

当你已经完成直连对照、多个节点测试、不同网络测试,并确认问题稳定集中在某个节点或线路时,再提交脱敏记录。若所有节点和目标都慢,应先排查本地网络、客户端模式、DNS、MTU 和 IPv6。

相关阅读

参考资料

  1. curl 官方命令行手册(curl.se)
  2. MDN Navigation Timing 与网络阶段耗时
  3. MDN:Time to First Byte(TTFB)
  4. Microsoft Learn:tracert 命令