@GhostKyi #6 发布于2026/9/25 11:33:12 @hqsocks55 #5 想挂ai,倒也不需要到claude那种程度,平常不跳cf验证就好,之前的面包落地还是会跳cf的,有点难受。感觉跟没挂落地一样 面包的ip是测出来一片绿,但依然跳盾吗
@linda #3 VPS TCP 调优实战手册(BBRv3 + 按 BDP 定缓冲) 场景:500 Mbps–1 Gbps、跨境高 RTT(100–200 ms)的 VPS。实测环境 Debian 13 / Ubuntu 24.04,洛杉矶 ↔ 中国 RTT≈135 ms。 实测效果:单线程下载 134 → 594 Mbps,重传率 8.6% → 0.1–3.2%。下文 IP 用 <你的IP> 占位。 一、三条前提 瓶颈是窗口,不是带宽:吞吐 ≈ 窗口 ÷ RTT。500 Mbps × 135 ms ≈ 8.4 MB 的 BDP,而内核默认 tcp_wmem 上限只有 4 MB(≈237 Mbps 的理论顶)——实测默认参数下单线程被卡在 134–392 Mbps。缓冲不加够,换内核也没用。 bbr ≠ BBRv3:唯一判据是 modinfo tcp_bbr | grep version 显示 version: 3。BBRv3 没进 Linux 主线,必须用打补丁的内核(如 XanMod)。 单次测试不可信:同一晚同一台机器实测 313 ↔ 594 Mbps。改前改后各跑 3 次,只比同时段。 二、参数速查 项 取值 说明 拥塞控制 / 队列 bbr / fq fq 是 BBR 的配套队列 缓冲上限 33554432(32 MB) ≥ BDP 并留 4 倍余量;不预分配、按需增长,内核 tcp_mem 兜底 tcp_rmem / tcp_wmem 4096 131072 33554432 / 4096 16384 33554432 core.rmem_max / wmem_max 必须 ≥ tcp_* 的 max 否则 tcp 上限被 core 截断 tcp_moderate_rcvbuf 1 敢开大 rmem_max 的前提 tcp_slow_start_after_idle / tcp_mtu_probing 0 / 1 空闲后不重新慢启动 / 防 MTU 黑洞 tcp_fastopen 3 对 Windows 客户端无效 tcp_ecn 保持默认 2 2 = 接受但不主动请求;要真生效得改发起方 调优文件 全机只留一份 多份 98/97/99 互相覆盖是事故源头 不要用 tcp_notsent_lowat、tcp_no_metrics_save、tcp_fack 实测无收益 / 现代内核已无此键 vm.panic_on_oom 必须 0 设 1 再配 kernel.panic=1,内存打满就整机重启 Windows 客户端侧:不要设 autotuninglevel=restricted(压死接收窗口)。其余 timer/加固类参数现代内核默认已合理,不用抄。 三、操作流程 0 · 体检 uname -r sysctl net.ipv4.tcp_congestion_control net.core.default_qdisc sysctl -n net.ipv4.tcp_wmem net.core.wmem_max modinfo tcp_bbr 2>/dev/null | grep version # 输出 3 才是 BBRv3 ls /etc/sysctl.d/ # 已有几份调优文件 1 · 换 XanMod 内核 lscpu | grep -o -m1 'avx2\|avx512f' # v3 需 AVX2,v4 需 AVX512(noble 源无 v4) wget -qO - https://dl.xanmod.org/archive.key | gpg --dearmor -o /usr/share/keyrings/xanmod-archive-keyring.gpg gpg --show-keys --with-fingerprint /usr/share/keyrings/xanmod-archive-keyring.gpg # 指纹必须是 D38D 7D1D A134 9567 ADED 882D 86F7 D09E E734 E623 # suite 写自己的发行版代号:Debian 13 = trixie,Ubuntu 24.04 = noble echo "deb [signed-by=/usr/share/keyrings/xanmod-archive-keyring.gpg] http://deb.xanmod.org trixie main" \ > /etc/apt/sources.list.d/xanmod-release.list apt update && apt install -y linux-xanmod-lts-x64v3 # LTS 线;别装 linux-xanmod-x64v3(EDGE 7.x) 换核前生存检查(云主机必做,缺了就是重启失联): NEW=6.18.53-x64v3-xanmod1 grep -E "CONFIG_VIRTIO_BLK=y|CONFIG_VIRTIO_PCI=y|CONFIG_EXT4_FS=y" /boot/config-$NEW lsinitramfs /boot/initrd.img-$NEW | grep virtio_net 安全换核(一次性启动 + 冷启动回退锚点): cp /etc/default/grub /root/grub.orig sed -i "s/^GRUB_DEFAULT=.*/GRUB_DEFAULT=saved/; s/^GRUB_TIMEOUT=.*/GRUB_TIMEOUT=10/" /etc/default/grub grep -E "^\s*(menuentry|submenu)" /boot/grub/grub.cfg # 看清条目全名 grub-set-default "<旧内核条目>" # 锚点:任何冷启动都回旧内核 grub-reboot "<新内核条目>" # 只这一次进新内核 update-grub && reboot 重启后验证,通过再固化: uname -r && modinfo tcp_bbr | grep version && systemctl --failed grub-set-default "<新内核条目>" 2 · 写调优参数 把下面这份写进 /etc/sysctl.d/99-tcp-tuning.conf;若厂商自带调优文件(如 99-bbr-network.conf),并入它而不是新建: cat > /etc/sysctl.d/99-tcp-tuning.conf <<'EOF' # 缓冲:按「带宽 × RTT」算。示例 500Mbps / 135ms → BDP≈8.4MB,取 32MB net.core.rmem_max = 33554432 net.core.wmem_max = 33554432 net.ipv4.tcp_rmem = 4096 131072 33554432 net.ipv4.tcp_wmem = 4096 16384 33554432 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_moderate_rcvbuf = 1 # 延迟与连接管理 net.ipv4.tcp_slow_start_after_idle = 0 net.ipv4.tcp_mtu_probing = 1 net.ipv4.tcp_fastopen = 3 net.ipv4.tcp_fin_timeout = 15 # 并发突发 net.core.netdev_max_backlog = 16384 net.ipv4.tcp_max_syn_backlog = 8192 # 拥塞控制与队列 net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr EOF 换链路就按 BDP 重算,再留 2–4 倍余量:1 Gbps × 135 ms ≈ 16.9 MB → 取 64 MB;200 Mbps × 200 ms ≈ 5 MB → 取 16 MB。 3 · 生效与验证 sysctl --system for k in net.core.rmem_max net.core.wmem_max net.ipv4.tcp_rmem net.ipv4.tcp_wmem \ net.ipv4.tcp_congestion_control net.core.default_qdisc \ net.ipv4.tcp_slow_start_after_idle net.ipv4.tcp_fastopen; do printf "%-40s %s\n" "$k" "$(sysctl -n $k)" done sysctl --system 2>&1 | grep -iE "error|invalid|cannot stat" || echo "无错误" # 写了不存在的键只报一行错 4 · 测速与看重传 # VPS:-1 = 只接一次,测完自动退出 iperf3 -s -p 50280 -D -1 # 本机:-R 下载(去掉即上传),-i 1 每秒一行 iperf3 -c <你的IP> -p 50280 -R -t 30 -b 450M -i 1 # 收工 pkill -x iperf3 # 是 -x;写成 -f 会杀掉自己的 ssh 会话 逐秒重传只能在 VPS 上看(Windows 版 iperf3 不输出 Retr 列)。测速时另开一个窗口: while true; do printf "%s " "$(date +%T)"; nstat -z TcpRetransSegs | tail -1; sleep 1; done 现象 含义 限速 450M 跑满、重传 0–2 千次(< 1%) 健康 不限速时重传变多且速率上升 正常,压到链路容量了 速率远低于带宽、重传几万次 真丢包或缓冲不足 上传始终只有 5–9 Mbps 客户端上行瓶颈,调服务端无用;要快换 QUIC(如 Hysteria2) 同机不同时段差一倍 链路拥塞波动,不是机器问题 5 · 回滚 cp /root/99-tcp-tuning.conf.bak-<日期> /etc/sysctl.d/99-tcp-tuning.conf && sysctl --system grub-set-default "<旧内核条目>" && reboot 四、陷阱 调优文件堆叠:厂商一份、脚本一份、自己一份,加载顺序决定谁赢;改了没生效先查这里。 vm.panic_on_oom = 1:内存打满不是杀进程而是整机 panic,配合 kernel.panic=1 直接重启。 写错键名静默无感:如 net.ipv6.tcp_rmem 内核里根本没这个键,只报一行错;sysctl --system 的输出必须看。 卸旧内核时被拉进 EDGE:linux-xanmod-lts-x64v3 与 linux-xanmod-x64v3 是两个包,apt purge 会因依赖把 EDGE 装上;卸完 dpkg -l | grep xanmod 复查。 换核不看 virtio:根盘是 virtio-blk、网卡是 virtio-net,新内核 config/initramfs 里缺了就失联。 临时测速口写进持久化规则:iptables -I INPUT 开的端口,中途一旦 iptables-save > /etc/iptables/rules.v4,重启会自动复现;收尾要同时删 live 规则和持久化文件里的那一行。 五、优先级 缓冲按 BDP 加够(134 → 392 Mbps,收益最大)→ 换 BBRv3 内核(486 → 546/559 Mbps,重传 8.6% → 3.2%)→ 边角参数。每次改动都用同时段多次测试验证。
你是白天测的?
@linda #1 刚刚测的···晚上我再测一下。晚上测得可能速度都跑不满
@GhostKyi #2 调优脚本发一下
这预算蹲促销年付正好
@GhostKyi #0 ip风险低是要挂ai?那机房ip再原生风控分也高 看你用途 纯翻墙看片就蹲促销年付够了
@hqsocks55 #5 想挂ai,倒也不需要到claude那种程度,平常不跳cf验证就好,之前的面包落地还是会跳cf的,有点难受。感觉跟没挂落地一样
@roy #4
@hqsocks55 #5
是哪家的促销年付啊?也是dmit吗?
这个鸡会有特价吗
面包的ip是测出来一片绿,但依然跳盾吗
@linda #3
VPS TCP 调优实战手册(BBRv3 + 按 BDP 定缓冲)
场景:500 Mbps–1 Gbps、跨境高 RTT(100–200 ms)的 VPS。实测环境 Debian 13 / Ubuntu 24.04,洛杉矶 ↔ 中国 RTT≈135 ms。
实测效果:单线程下载 134 → 594 Mbps,重传率 8.6% → 0.1–3.2%。下文 IP 用
<你的IP>占位。一、三条前提
吞吐 ≈ 窗口 ÷ RTT。500 Mbps × 135 ms ≈ 8.4 MB 的 BDP,而内核默认tcp_wmem上限只有 4 MB(≈237 Mbps 的理论顶)——实测默认参数下单线程被卡在 134–392 Mbps。缓冲不加够,换内核也没用。bbr≠ BBRv3:唯一判据是modinfo tcp_bbr | grep version显示version: 3。BBRv3 没进 Linux 主线,必须用打补丁的内核(如 XanMod)。二、参数速查
bbr/fq33554432(32 MB)tcp_mem兜底tcp_rmem/tcp_wmem4096 131072 33554432/4096 16384 33554432core.rmem_max/wmem_maxtcp_*的 maxtcp_moderate_rcvbuf1rmem_max的前提tcp_slow_start_after_idle/tcp_mtu_probing0/1tcp_fastopen3tcp_ecn2tcp_notsent_lowat、tcp_no_metrics_save、tcp_fackvm.panic_on_oom0kernel.panic=1,内存打满就整机重启Windows 客户端侧:不要设
autotuninglevel=restricted(压死接收窗口)。其余 timer/加固类参数现代内核默认已合理,不用抄。三、操作流程
0 · 体检
uname -r sysctl net.ipv4.tcp_congestion_control net.core.default_qdisc sysctl -n net.ipv4.tcp_wmem net.core.wmem_max modinfo tcp_bbr 2>/dev/null | grep version # 输出 3 才是 BBRv3 ls /etc/sysctl.d/ # 已有几份调优文件1 · 换 XanMod 内核
lscpu | grep -o -m1 'avx2\|avx512f' # v3 需 AVX2,v4 需 AVX512(noble 源无 v4) wget -qO - https://dl.xanmod.org/archive.key | gpg --dearmor -o /usr/share/keyrings/xanmod-archive-keyring.gpg gpg --show-keys --with-fingerprint /usr/share/keyrings/xanmod-archive-keyring.gpg # 指纹必须是 D38D 7D1D A134 9567 ADED 882D 86F7 D09E E734 E623 # suite 写自己的发行版代号:Debian 13 = trixie,Ubuntu 24.04 = noble echo "deb [signed-by=/usr/share/keyrings/xanmod-archive-keyring.gpg] http://deb.xanmod.org trixie main" \ > /etc/apt/sources.list.d/xanmod-release.list apt update && apt install -y linux-xanmod-lts-x64v3 # LTS 线;别装 linux-xanmod-x64v3(EDGE 7.x)换核前生存检查(云主机必做,缺了就是重启失联):
NEW=6.18.53-x64v3-xanmod1 grep -E "CONFIG_VIRTIO_BLK=y|CONFIG_VIRTIO_PCI=y|CONFIG_EXT4_FS=y" /boot/config-$NEW lsinitramfs /boot/initrd.img-$NEW | grep virtio_net安全换核(一次性启动 + 冷启动回退锚点):
cp /etc/default/grub /root/grub.orig sed -i "s/^GRUB_DEFAULT=.*/GRUB_DEFAULT=saved/; s/^GRUB_TIMEOUT=.*/GRUB_TIMEOUT=10/" /etc/default/grub grep -E "^\s*(menuentry|submenu)" /boot/grub/grub.cfg # 看清条目全名 grub-set-default "<旧内核条目>" # 锚点:任何冷启动都回旧内核 grub-reboot "<新内核条目>" # 只这一次进新内核 update-grub && reboot重启后验证,通过再固化:
uname -r && modinfo tcp_bbr | grep version && systemctl --failed grub-set-default "<新内核条目>"2 · 写调优参数
把下面这份写进
/etc/sysctl.d/99-tcp-tuning.conf;若厂商自带调优文件(如99-bbr-network.conf),并入它而不是新建:cat > /etc/sysctl.d/99-tcp-tuning.conf <<'EOF' # 缓冲:按「带宽 × RTT」算。示例 500Mbps / 135ms → BDP≈8.4MB,取 32MB net.core.rmem_max = 33554432 net.core.wmem_max = 33554432 net.ipv4.tcp_rmem = 4096 131072 33554432 net.ipv4.tcp_wmem = 4096 16384 33554432 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_moderate_rcvbuf = 1 # 延迟与连接管理 net.ipv4.tcp_slow_start_after_idle = 0 net.ipv4.tcp_mtu_probing = 1 net.ipv4.tcp_fastopen = 3 net.ipv4.tcp_fin_timeout = 15 # 并发突发 net.core.netdev_max_backlog = 16384 net.ipv4.tcp_max_syn_backlog = 8192 # 拥塞控制与队列 net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr EOF换链路就按 BDP 重算,再留 2–4 倍余量:1 Gbps × 135 ms ≈ 16.9 MB → 取 64 MB;200 Mbps × 200 ms ≈ 5 MB → 取 16 MB。
3 · 生效与验证
sysctl --system for k in net.core.rmem_max net.core.wmem_max net.ipv4.tcp_rmem net.ipv4.tcp_wmem \ net.ipv4.tcp_congestion_control net.core.default_qdisc \ net.ipv4.tcp_slow_start_after_idle net.ipv4.tcp_fastopen; do printf "%-40s %s\n" "$k" "$(sysctl -n $k)" done sysctl --system 2>&1 | grep -iE "error|invalid|cannot stat" || echo "无错误" # 写了不存在的键只报一行错4 · 测速与看重传
# VPS:-1 = 只接一次,测完自动退出 iperf3 -s -p 50280 -D -1 # 本机:-R 下载(去掉即上传),-i 1 每秒一行 iperf3 -c <你的IP> -p 50280 -R -t 30 -b 450M -i 1 # 收工 pkill -x iperf3 # 是 -x;写成 -f 会杀掉自己的 ssh 会话逐秒重传只能在 VPS 上看(Windows 版 iperf3 不输出 Retr 列)。测速时另开一个窗口:
while true; do printf "%s " "$(date +%T)"; nstat -z TcpRetransSegs | tail -1; sleep 1; done5 · 回滚
cp /root/99-tcp-tuning.conf.bak-<日期> /etc/sysctl.d/99-tcp-tuning.conf && sysctl --system grub-set-default "<旧内核条目>" && reboot四、陷阱
vm.panic_on_oom = 1:内存打满不是杀进程而是整机 panic,配合kernel.panic=1直接重启。net.ipv6.tcp_rmem内核里根本没这个键,只报一行错;sysctl --system的输出必须看。linux-xanmod-lts-x64v3与linux-xanmod-x64v3是两个包,apt purge会因依赖把 EDGE 装上;卸完dpkg -l | grep xanmod复查。iptables -I INPUT开的端口,中途一旦iptables-save > /etc/iptables/rules.v4,重启会自动复现;收尾要同时删 live 规则和持久化文件里的那一行。五、优先级
缓冲按 BDP 加够(134 → 392 Mbps,收益最大)→ 换 BBRv3 内核(486 → 546/559 Mbps,重传 8.6% → 3.2%)→ 边角参数。每次改动都用同时段多次测试验证。