晚高峰实测 HOW-TO · 教程

如何记录一周晚高峰数据?记录模板、采样脚本与续费判断

如何记录一周的机场晚高峰数据?本文提供一套可直接照做的七天记录方案:包含每日记录表和周汇总表两张空白模板、可自动写入CSV的Bash与PowerShell采样脚本、定时运行的设置思路,以及如何计算失败率和延迟中位数、按结果判断续费、观察还是更换机场的参考标准。

发布于 3 分钟阅读

简要回答 记录一周晚高峰数据,只需固定2到3个常用节点,在每晚20:00到24:00每30分钟自动采样一次,把成功次数、失败次数和延迟中位数写入CSV,第七天汇总每天的失败率和最差时段。连续多个晚上失败率低、延迟平稳才适合续费或年付。

一周七天晚高峰节点失败率与延迟中位数的记录汇总表示意图

记录一周晚高峰数据,只需要三步:固定 2–3 个常用节点,在每晚 20:00–24:00 每 30 分钟自动采样一次,把成功次数、失败次数和延迟中位数写入 CSV;第七天汇总每天的失败率和最差时段。连续多个晚上失败率低、延迟平稳,才适合续费或改成年付。采样指标的含义和测试条件,可以先看 晚高峰测速方法,本文重点讲“一周怎么记、怎么汇总、怎么决策”。

准备工作

  • 固定节点:选你最常用的 2–3 个节点,一周内不更换;
  • 固定环境:同一台设备、同一个网络、同一个客户端,关闭自动切换节点;
  • 确认端口:在客户端设置中查看 HTTP 或混合代理端口,下文以 7897 为例;
  • 准备目录:新建一个文件夹存放脚本和 CSV 文件。

采样脚本

macOS / Linux(Bash)

脚本每次运行对当前节点请求 20 次,统计成功、失败和延迟中位数,追加一行到 peak-log.csv:

#!/usr/bin/env bash
# 用法:bash peak-log.sh 节点名称
NODE="${1:-node-1}"
PROXY="http://127.0.0.1:7897"
URL="https://www.gstatic.com/generate_204"
OUT="$(dirname "$0")/peak-log.csv"
[ -f "$OUT" ] || echo "time,node,ok,fail,median_ms" > "$OUT"

ok=0; fail=0; : > /tmp/peak-times.txt
for i in $(seq 1 20); do
  r=$(curl -x "$PROXY" -o /dev/null -s -m 10 -w "%{http_code} %{time_total}" "$URL")
  if [ "${r%% *}" = "204" ]; then
    ok=$((ok+1))
    awk -v s="${r##* }" 'BEGIN{printf "%d\n", s*1000}' >> /tmp/peak-times.txt
  else
    fail=$((fail+1))
  fi
  sleep 3
done

if [ "$ok" -gt 0 ]; then
  median=$(sort -n /tmp/peak-times.txt | awk '{a[NR]=$1} END{print a[int((NR+1)/2)]}')
else
  median="NA"
fi
echo "$(date '+%F %H:%M'),$NODE,$ok,$fail,$median" >> "$OUT"

定时运行可以用 cron,下面这行表示每晚 20:00–23:30 每 30 分钟运行一次(路径改成你自己的):

*/30 20-23 * * * bash /path/to/peak-log.sh node-1

Windows(PowerShell)

# 用法:powershell -File peak-log.ps1 -Node node-1
param([string]$Node = "node-1")
$Proxy = "http://127.0.0.1:7897"
$Url = "https://www.gstatic.com/generate_204"
$Out = Join-Path $PSScriptRoot "peak-log.csv"
if (-not (Test-Path $Out)) { "time,node,ok,fail,median_ms" | Out-File $Out -Encoding utf8 }

$ok = 0; $fail = 0; $times = @()
foreach ($i in 1..20) {
  $r = curl.exe -x $Proxy -o NUL -s -m 10 -w "%{http_code} %{time_total}" $Url
  $code, $sec = $r -split ' '
  if ($code -eq '204') { $ok++; $times += [int]([double]$sec * 1000) } else { $fail++ }
  Start-Sleep -Seconds 3
}

$sorted = @($times | Sort-Object)
$median = if ($sorted.Count -gt 0) { $sorted[[math]::Floor(($sorted.Count - 1) / 2)] } else { "NA" }
"$(Get-Date -Format 'yyyy-MM-dd HH:mm'),$Node,$ok,$fail,$median" | Out-File $Out -Append -Encoding utf8

定时运行可以使用系统自带的“任务计划程序”,新建任务,触发器设为每天 20:00 开始、每 30 分钟重复、持续 4 小时,操作填写运行上面的脚本。具体界面以当前系统版本为准。

空白记录表

每日记录表

脚本会自动生成 CSV;如果你更习惯手动记录,或想补充主观感受,可以用这张表:

日期 时间 节点 成功 / 20 失败 / 20 延迟中位数 AI 是否正常 视频是否流畅 备注
20:00
21:00
22:00
23:00

周汇总表

日期 节点 失败率 延迟中位数的中位数 最差时段 缺失轮次 主观评价
周一
周二
周三
周四
周五
周六
周日

怎么汇总

  1. 算每天的失败率:当天所有轮次的失败次数之和 ÷ 请求总数;
  2. 算延迟代表值:取当天各轮延迟中位数的中位数,避免单次异常拉偏结果;
  3. 找最差时段:看哪个时间点的失败最多、延迟最高,是否每天都在同一时段;
  4. 剔除异常:本地断网、电脑休眠导致的缺失轮次单独标注,不计入失败。

CSV 可以直接用表格软件打开,用筛选和求和功能完成上面的计算。

如何判断是否续费

一周表现 建议
大多数晚上失败率接近 0,延迟平稳,AI 与视频正常 可以续费,考虑较长周期
偶有一两个晚上某时段失败集中,其余正常 继续月付观察,换同地区其他节点对比
多个晚上在同一时段持续失败或延迟飙升 不建议续费,考虑更换线路类型
所有节点同时大面积失败、客服无回应 停止续费,警惕服务商停止运营

如果记录中发现某些时段集中卡顿,可以对照 晚高峰为什么会卡 分析是哪一段出了问题;出现大面积失败、客服失联等情况,请参考 机场跑路前兆。

编辑推荐 · 综合第 1

二猫云
  • 三网优化 IEPL专线+中转+直连
  • ¥20/月起 · 130GB/月
  • 设备不限 · 运营2年+(2024年4月成立)
  • AI:ChatGPT、Claude、Claude Code、Codex、Gemini

常见问题

为什么要记录一整周,而不是测一两天?

工作日和周末的拥堵程度不同,个别晚上还可能遇到临时故障。一周的数据能覆盖这些波动,结论更可靠,也更适合作为是否续费的依据。

采样脚本会消耗很多流量吗?

不会。脚本请求的是返回空内容的轻量地址,每轮20次请求消耗的流量很少,一周下来几乎可以忽略。

电脑晚上关机了怎么办?

关机期间的数据会缺失,汇总时标注为缺失,不要当成失败。也可以把脚本放在常开的设备上运行,只要它和你平时使用的网络一致即可。

失败率多少算不合格?

没有统一标准。可以参考本文的判断表,并结合你的使用感受:如果某个时段连续几天都集中失败,而这个时段正好是你最常用的时间,就值得认真考虑更换。