AgentNEO

代理客户端速度慢怎么办?先分清延迟、丢包还是持续吞吐

更新于 2026-10-25 · agentneo.top

简答:代理客户端速度慢时,先关闭代理建立本地基线,再用同一目标和同一节点测试首开、丢包与持续下载速度。延迟低不代表吞吐稳定,必须通过单变量对比判断问题在设备、配置、节点、线路还是目标网站。

定义:代理客户端速度慢,是指连接已建立但出现网页首开慢、持续下载速度低、视频缓冲、连接间歇中断或只有特定应用变慢等现象。

先试这一步:用同一设备做直连与代理对照

本文是第三方使用指南,不代表任何客户端或线路服务的官方页面。排查时不要同时更换设备、节点、模式和测试网址,否则无法判断是哪一个变量造成变化。

症状优先观察指标先做什么常见定位方向
网页打开前等待很久DNS耗时、TCP连接耗时、TLS耗时、首字节时间同一网址分别直连和代理访问DNS、规则命中、节点握手或目标站响应
网页能打开但下载慢持续吞吐量、下载时长、速度波动固定同一个大文件重复下载节点负载、线路拥塞、协议或本机后台占用
视频频繁缓冲持续吞吐、丢包、连接是否反复切换固定清晰度并观察同一时间段带宽不足、丢包、UDP能力或目标平台限制
只有一个网站慢不同网站首开和下载结果换两个独立目标对照目标服务器、CDN、地区出口或单站规则
所有应用都慢网关丢包、节点地址连通性、持续吞吐先停用TUN或系统代理做对照本地网络、客户端配置、节点或线路

Windows 的 ping 是 ICMP 连通性和往返时间测试,pathping 会对路径中的路由器发送多次探测并统计丢包;这些结果不能直接等同于代理链路的实际网页或下载速度。参考 Microsoft 的 ping 文档和 Microsoft 的 pathping 文档。

重要:系统代理模式下,直接执行 ping 目标域名通常测的是本地到目标的直连ICMP路径,不是代理流量路径;TUN配合fake-ip时,域名可能被解析到文档所示的假地址范围,直接对该地址执行ping没有代理链路判断价值。更稳妥的做法是分别测试默认网关和节点服务器地址,并把ICMP结果只当作辅助证据。

  • Windows:先在命令提示符执行 ipconfig,找到默认网关,再执行 ping /n 20 默认网关地址;随后对节点服务器地址执行 ping /n 20 节点服务器地址。
  • macOS:执行 route -n get default查看网关,再执行 ping -c 20 默认网关地址和ping -c 20 节点服务器地址。
  • Linux:执行 ip route查看网关,再执行 ping -c 20 默认网关地址和ping -c 20 节点服务器地址。Linux的-c参数用于限定探测次数,详见ping手册。

Windows还可以使用pathping /n 节点服务器地址观察直连到节点服务器的路径和丢包统计;不要把它当成代理转发后的完整路径证明。如果节点地址本身无法确认,先在客户端的节点详情或订阅内容中查看,端口以设置页显示为准。

持续吞吐怎么测:固定文件、固定时长、重复三次

“延迟低但速度慢”并不矛盾:延迟主要反映一次往返的等待时间,持续吞吐反映连接在一段时间内能稳定传输多少数据。要比较吞吐,必须固定测试文件、设备、节点、时间段和客户端模式。

  1. 选择一个你能稳定访问的固定大文件地址,建议文件足够大,能够持续下载一段时间;不要每次更换网址。
  2. 先关闭代理,用浏览器或命令行下载一次,记录开始时间、结束时间和平均速度。
  3. 打开客户端后固定同一个节点,再下载同一个文件三次;每次间隔尽量一致,记录speed_download或客户端显示的平均速度。
  4. 直连和代理各取三次结果,比较中位数或平均值,同时记录是否出现速度快速下降、连接重试或下载中断。

curl的speed_download表示完整下载的平均下载速度;代理参数需要写明协议类型。curl官方文档说明,HTTP代理可用http://,SOCKS5并由代理解析域名时应使用socks5h://,不能把两类端口混用。参考curl官方手册和curl URL与代理协议说明。

macOS与Linux示例

curl -L --max-time 90 -o /dev/null -w "code=%{http_code} time=%{time_total}s speed=%{speed_download}B/s\n" "TEST_URL"

# HTTP或mixed代理端口
curl -L --max-time 90 -x "http://127.0.0.1:LOCAL_PORT" -o /dev/null -w "code=%{http_code} time=%{time_total}s speed=%{speed_download}B/s\n" "TEST_URL"

# SOCKS5并让代理解析域名
curl -L --max-time 90 -x "socks5h://127.0.0.1:LOCAL_PORT" -o /dev/null -w "code=%{http_code} time=%{time_total}s speed=%{speed_download}B/s\n" "TEST_URL"

Windows命令提示符示例

curl -L --max-time 90 -o NUL -w "code=%{http_code} time=%{time_total}s speed=%{speed_download}B/s\n" "TEST_URL"

curl -L --max-time 90 -x "http://127.0.0.1:LOCAL_PORT" -o NUL -w "code=%{http_code} time=%{time_total}s speed=%{speed_download}B/s\n" "TEST_URL"

curl -L --max-time 90 -x "socks5h://127.0.0.1:LOCAL_PORT" -o NUL -w "code=%{http_code} time=%{time_total}s speed=%{speed_download}B/s\n" "TEST_URL"

TEST_URL、LOCAL_PORT和节点地址都是占位符,必须替换成自己的测试文件地址、客户端本地代理端口和节点信息。HTTP或mixed端口使用第一种代理写法,SOCKS端口使用第二种写法;如果不确定端口类型,以客户端设置页为准。

结果更可能的结论下一步
直连和代理都慢本地网络、目标站或设备资源问题换设备或网络,再测同一文件
直连正常,多个节点都慢客户端模式、本地网络、DNS或线路整体问题关闭TUN或系统代理做一次对照
只有一个节点慢节点负载、节点出口或该节点线路问题在相同时间测试同地区的其他节点
延迟低但吞吐持续下降短时响应正常,长连接传输不稳定观察丢包、速度曲线和后台占用
速度高但网页首开慢DNS、TLS握手、规则匹配或目标站响应慢记录首开分段时间,不要只看测速结果

按五层定位:本地网络、客户端、DNS规则、节点线路、目标网站

  1. 本地网络层:先暂停云同步、系统更新、下载器和其他代理;用网线或另一条Wi-Fi对照。若默认网关丢包,优先处理路由器、无线信号或局域网占用,不要先换节点。
  2. 客户端层:确认只启用了一个代理客户端,避免系统代理、TUN、浏览器扩展和其他网络工具叠加。规则模式、全局模式和直连模式要分别记录结果。以mihomo为例,官方配置文档将模式区分为rule、global和direct,并说明TUN用于接管系统流量;具体菜单名称以当前客户端版本为准,可参考mihomo通用配置文档和mihomo入站与TUN说明。
  3. DNS与规则层:如果只有首开慢、偶发解析失败或不同模式结果差异很大,检查DNS模式、分流规则和规则命中。fake-ip场景下,不要把假地址当作真实节点地址测试;mihomo的DNS文档列出了enhanced-mode、fake-ip-range、nameserver-policy等字段,修改前应先确认运行配置确实加载了新值,参考mihomo DNS配置文档。
  4. 节点与线路层:不要只按最低延迟选节点。将同一时间、同一测试文件下的多个节点记录在表格中,至少比较首开、持续吞吐、丢包和是否反复重连。mihomo的策略组健康检查是对指定测试地址进行延迟或状态检查,不等同于完整下载测速;相关字段包括url、interval、timeout和expected-status,详见mihomo策略组文档。
  5. 目标网站层:如果只有一个网站或一个视频平台变慢,换两个独立目标做对照;若其他目标正常,不能仅凭一个站点的结果判定节点或客户端整体变慢。还要记录目标地区、CDN变化、登录状态和是否存在平台限速。

视频缓冲时,先固定清晰度并观察实际下载速度。如果客户端或节点不支持目标连接所需的UDP能力,某些应用可能改用TCP或出现重试;这类现象应通过连接记录、规则命中和节点的UDP支持状态核对,不能仅凭“延迟低”下结论。mihomo API文档提供了代理的udp、alive、延迟历史和当前选中节点等字段,可作为客户端连接详情的核对依据,参考mihomo API文档。

主流客户端的排查入口速查

以下是通用入口提示,不承诺所有版本菜单名称完全一致;找不到时优先查看客户端的连接、日志、代理组、规则或统计页面。

客户端先看什么记录哪些字段
Clash Verge Rev连接、日志、代理组或模式页面当前节点、规则命中、连接速度、错误提示
v2rayN服务器列表、运行日志、系统代理状态当前配置、连接时间、重试或握手错误
Shadowrocket节点、连接记录、日志或测速页面节点、请求目标、连接状态、是否反复重连
v2rayNG配置列表、日志、统计或运行状态当前配置、连接错误、上下行流量、测试时间

记录时建议使用下面的模板,至少保留直连、代理节点A和代理节点B三组结果:

日期:2026-10-25
设备与网络:
客户端与模式:
测试目标:
节点:
直连/代理:
DNS或规则模式:
首开时间:
丢包结果:
下载第1次:
下载第2次:
下载第3次:
平均或中位速度:
是否出现重连:
结论:

根据结果处理:一次只改一个变量

  • 默认网关就有丢包:先重启或更换路由器、靠近无线接入点、暂停后台流量,再重复测试。
  • 网关正常、节点地址丢包:记录测试时间并更换同地区或相邻地区节点对照;不要只根据一次ICMP结果断定代理业务不可用。
  • 多个节点都慢:先关闭TUN、系统代理或浏览器代理扩展,确认是否存在叠加接管;再检查规则模式是否把不需要代理的流量送入代理。
  • 只有首开慢:优先核对DNS解析、规则命中、TLS握手和目标服务器响应;不要只做下载测速。
  • 持续下载慢:固定大文件重复三次,比较不同节点和不同时段;若只在晚高峰下降,应把时段写入记录,不要将单次结果当成长期结论。
  • 只有一个应用慢:检查该应用是否使用独立代理、QUIC/UDP、IPv6或自己的DNS;再与浏览器通过同一节点访问同一目标做对照。

修改配置前先备份,改动后只保留一个变化。例如先只切换节点,第二轮再只切换模式,第三轮再检查DNS。这样才能判断是“节点变化带来改善”,还是多个改动叠加后的偶然结果。

常见问题

为什么代理客户端延迟很低,下载速度仍然很慢?

延迟只反映一次往返等待时间,不能代表长时间传输能力。请固定同一个大文件,使用同一节点连续下载三次,记录curl的speed_download或客户端平均速度,再与直连和其他节点比较。

直接ping网站域名能判断代理节点速度吗?

通常不能。系统代理模式下ICMP一般不经过代理;TUN使用fake-ip时,域名还可能解析到假地址。应分别ping默认网关和节点服务器地址,并把结果只作为辅助证据,实际速度要用代理下载或应用连接记录判断。

代理客户端只有视频缓冲,网页和下载却正常,先查什么?

先固定视频清晰度,观察持续吞吐和是否反复重连,再查看该应用是否使用独立代理、QUIC/UDP、IPv6或独立DNS。不要只看节点延迟,也不要直接把单个平台的问题判定为所有节点都慢。

多个节点同时变慢,应该先换节点还是改配置?

先做最小对照:暂停后台下载,关闭TUN或系统代理叠加,确认规则模式和DNS配置已加载,再用同一文件测试。若多个节点仍慢,再比较直连与代理的结果,判断本地网络或线路整体问题。

测速时为什么必须固定文件、时间和测试次数?

不同文件、CDN、目标地区和时段会改变结果。固定变量并重复三次,才能减少单次波动;建议保存直连、节点A和节点B的记录,并注明是否发生重连或速度下降。

相关阅读

参考资料

  1. Microsoft Learn:ping 命令
  2. Microsoft Learn:pathping 命令
  3. curl 官方手册(curl.se)
  4. curl 官方 URL 与代理协议说明(curl.se)
  5. Linux ping 手册(man7.org)
  6. mihomo 通用配置文档
  7. mihomo 入站与 TUN 配置文档
  8. mihomo DNS 配置文档
  9. mihomo 策略组配置文档
  10. mihomo API 文档