TL;DR:Hysteria2 丢包排查先降 MTU,再限速率。QUIC 跑在 UDP 上,路径里任何一段不喜欢大包,都会变成卡顿、重传或起播慢。不要一上来把带宽参数填满。

Hysteria2 的速度来自 QUIC 与 Brutal 拥塞控制,但它也更依赖链路质量。很多问题不是「协议坏了」,而是 MTU、速率和路径丢包没有调到同一档。

典型症状

现象可能原因
speedtest 很高,网页首开慢小包重传、DNS 路径异常
视频起播慢,播放后正常首段请求丢包或握手重试
手机热点可用,家宽卡家宽路径 MTU 或 UDP 策略不同
晚高峰明显变差真实可用带宽低于配置速率

先把现象写下来,别同时改 MTU、端口、obfs、速率。一次改太多,最后不知道是哪项生效。

MTU 为什么会影响 Hy2

MTU 是单个包能承载的最大尺寸。路径 MTU 低时,大 UDP 包可能被分片或丢弃。TCP 有更成熟的发现与回退机制,UDP 场景下就更依赖应用和系统处理。

实操建议:

  1. 客户端 MTU 先设 1200。
  2. 观察 5 分钟网页、视频、下载三类场景。
  3. 如果正常,再试 1250、1300。
  4. 一旦卡顿复现,退回上一个值。

速率参数别填满

Brutal 需要你告诉它大概带宽。填太高,它会持续施压,丢包链路会更糟。更稳妥的写法是:把上下行都写成真实可用带宽的 70%-80%。比如晚高峰实测上行 30 Mbps,就不要写 100 Mbps。

如果你只是想确认订阅侧是否支持 Hy2,可用兼容 Clash / Singbox / V2Ray 的订阅做交叉测试,但 MTU 与速率仍要按本机网络调。

服务端检查表

服务端先看基础资源,再看协议参数。若同一台机器上还有下载、转码或其它高吞吐任务,Hy2 的抖动会被放大;排障时最好留出空闲窗口,避免把机器负载误认为链路问题。

  • CPU 没有被加密计算打满。
  • UDP receive/send buffer 足够。
  • 防火墙没有对目标端口做限速。
  • 云厂商安全组允许 UDP 入站。
  • Hy2 服务端版本与客户端内核不要相差太久。

客户端检查表

  • MTU 从 1200-1250 开始。
  • 速率填真实可用值,不填标称套餐值。
  • sing-box 与 Mihomo 参数按各自文档写。
  • 排障期间关闭其它占用 UDP 的应用。
  • 每次只改一个参数并记录结果。

调 Hy2 不追求一个万能配置。能在你的网络、你的设备、你的时间段里持续顺滑,才算调完。

排查时的优先级

遇到 Hysteria2 MTU 丢包 相关问题时,先固定一个可复现样本,再改配置。不要凭感觉同时换设备、地区、账号和客户端。对“部署 Hysteria2 服务端、使用 sing-box 或 Mihomo Hy2 出站的用户”来说,最省时间的方法是按“现象、范围、最近变更、可回滚动作”四步记录。

步骤要确认什么
现象是报错、限速、空白页、扣费异常,还是权限不足
范围只影响一个账号/设备,还是同一批任务都失败
变更最近是否改过版本、地区、套餐、密钥或规则
回滚能否回到上一个正常状态并复测

什么时候停止继续试错

如果同一问题连续试了三种方案仍无改善,先停下来整理证据。把错误截图、时间、账号地区、请求 id、订单号或配置片段放在一起,再决定是联系官方支持、换备用路径,还是回退到旧方案。客户端、协议、规则和网络工具配置 里的很多问题不是单点开关能解决,复盘记录比继续乱改更重要。

相关阅读