补充连接数时间线证据:双协议兜底确实起作用

86 个采样点 / 约 1.5 小时:

    QUIC:   最低 1  最高 8  平均 7.5
    HTTP/2: 最低 1  最高 2  平均 2.0

    QUIC 塌陷(<= 2 条)只有 2 次,占 2.3%
    塌陷时 HTTP/2 一直是 >= 1 条(2/2 = 100%),归零 0 次

    QUIC 连接数分布:
      8 条  76.7%
      7 条  15.1%
      6 条   3.5%
      5 条   2.3%
      1 条   2.3%   <- 塌陷(1.5 小时里约 2 分钟)

一次典型塌陷的时间线也记下来了(watchdog 日志):
重启把中断从「可能几分钟」缩到 26 秒。

目标「0 掉线」做不到 —— 4G 链路上 QUIC 会周期性塌陷。
但影响被压到 2.3% 的窗口,而且 HTTP/2 全程兜住。

教训:多行中文提交信息里有引号时,PowerShell 的 -m 参数会被吃掉。
一律写进文件再用 -F 提交。
This commit is contained in:
xmz7891
2026-10-07 19:03:45 +08:00
parent 4cc368431c
commit 035c2cc4c5
4 changed files with 219 additions and 10 deletions
+33 -10
View File
@@ -132,21 +132,44 @@ QUIC 建连要 6+ 个包往返;TCP 的 SYN 只有 3 个包、内核还按 1s/2
PC 侧(完全不同的网络)在同一个窗口也失败 —— **说明问题在 Cloudflare 边缘
或隧道这一侧,不是某一端的本地链路。**
### 2.6 连接数仍会周期性波动(未达标项)
实测观察到的周期约 9 分钟:
### 2.6 连接数波动(86 个采样点 / 约 1.5 小时)
```
17:56:39 quic=1 h2=2 <- QUIC 塌到 1 条
17:57:11 quic=1 h2=1 <- h2 也掉了,watchdog 重启
17:57:37 建齐 10 条 <- 26 秒恢复
QUIC 连接数: 最低 1 最高 8 平均 7.5
HTTP/2 连接数: 最低 1 最高 2 平均 2.0
QUIC 连接数分布:
8 条 76.7% <- 大部分时间健康
7 条 15.1%
6 条 3.5%
5 条 2.3%
1 条 2.3% <- 塌陷(1.5 小时里约 2 分钟)
QUIC 塌陷(<=2 条): 2 次,占 2.3%
塌陷时 HTTP/2 >=1 条: 2 次(100%)
塌陷时 HTTP/2 也归零: 0 次
```
**关键**:QUIC 塌的时候 HTTP/2 那 2 条始终存活,这就是双协议兜底的价值。
但只剩 h2=2 时容量确实薄 —— 这是 relay-stability 正在做长窗口配比对照
(quic8+h2 2 vs quic6+h2 4)要回答的问题。
**这就是双协议兜底的价值,有数字支撑:QUIC 塌的时候 HTTP/2 一次都没塌。**
**这一项(目标 0 掉线)受 4G 链路物理条件限制,本轮没能做到 100%。**
一次典型塌陷的时间线(watchdog 日志):
```
17:56:39 公网不通(HTTP 000,quic=1, h2=2) 连续第 1 次
17:56:59 公网不通(HTTP 000,quic=7, h2=2) 连续第 2 次 <- 自己回来了
17:57:09 公网不通(HTTP 502,quic=6, h2=2) 连续第 3 次
公网连续 3 次不通,但连接健康(合计 8 条)—— 再等等,不重启
17:57:11 公网不通(HTTP 502,quic=1, h2=1) 连续第 4 次 <- 又塌,且 h2 也掉了
连续 4 次公网不通 —— 重启 [两个实例]
17:57:37 本次已建齐(合计 10 条) <- 26 秒恢复
```
**这次重启是对的**:连接总数掉到 2 条属于确认故障,
重启把中断缩短到 26 秒,比等 QUIC 自然恢复(可能几分钟)划算。
**目标「0 掉线」没能做到** —— 4G 链路上 QUIC 会周期性塌陷。
能做的是「加协议冗余 + 加快恢复」,这两件都做了,
把影响压到 2.3% 的窗口且 HTTP/2 全程兜住。
---