优化服务器TCP整体性能

#!/bin/bash

# ====================================================

# 脚本名称: GreenCloud JP 极致网络优化脚本 (修正版)

# ====================================================

# 1. 自动抓取变量 (增强兼容性)

GATEWAY=$(ip route show default | awk '/default/ {print $3}')

INTERFACE=$(ip route show default | awk '/default/ {print $5}')

# 尝试抓取 SRC IP,如果抓不到则留空(不强加 src 参数)

SRC_IP=$(ip route show default | grep -oP 'src \K\S+')

echo "--- 正在检测网络配置 ---"

echo "网卡: $INTERFACE"

echo "网关: $GATEWAY"

echo "源IP: ${SRC_IP:-未指定(静态路由)}"

# 2. 自动设置 MTU

echo "--- 正在优化 MTU (设定为 1420) ---"

ip link set dev $INTERFACE mtu 1420

if [ $? -eq 0 ]; then

echo "✅ MTU 已成功设置为 $(cat /sys/class/net/$INTERFACE/mtu)"

else

echo "❌ MTU 设置失败"

fi

# 3. 应用 TCP 弹射起步 (initcwnd 50)

echo "--- 正在应用 TCP 弹射起步 (initcwnd 50) ---"

# 构建基础命令

CMD="ip route replace default via $GATEWAY dev $INTERFACE mtu 1420 initcwnd 50 initrwnd 50"

# 如果有 SRC IP 则补上

if [ -n "$SRC_IP" ]; then

CMD="$CMD src $SRC_IP"

fi

# 加上 onlink 参数(针对你这种 static 路由可能需要)

CMD="$CMD onlink"

$CMD

if [ $? -eq 0 ]; then

echo "✅ 路由参数替换成功!"

else

echo "❌ 路由修改失败"

fi

# 4. 打印执行结果与现状检测

echo "------------------------------------------------"

echo "🔎 [现状检测 1] 路由表条目:"

ip route show default

echo ""

echo "🔎 [现状检测 2] TCP 核心参数 (sysctl):"

echo "拥塞算法: $(sysctl -n net.ipv4.tcp_congestion_control)"

echo "队列调度: $(sysctl -n net.core.default_qdisc)"

echo "ECN 状态: $(sysctl -n net.ipv4.tcp_ecn) (1为开启)"

echo ""

echo "🔎 [现状检测 3] 实时 BBR 运行摘要 (当前激活的连接):"

# 打印当前所有建立连接的 cwnd 和 bw 均值,让你心里有数

ss -it | awk '/bbr/{

match($0, /bw:([^, ]+)/, b);

match($0, /cwnd:([0-9]+)/, c);

if(c[1] != "") {count++; sum_bw+=b[1]; sum_cwnd+=c[1]}

} END {

if(count>0) printf "检测到 %d 条活跃连接: 平均 cwnd=%d, 估算总可用带宽=%s\n", count, sum_cwnd/count, sum_bw/count "bps";

else print "当前暂无活跃流量,请开始观看 YouTube 后再次运行查看。";

}'

echo "------------------------------------------------"

echo "🚀 所有优化已就绪,请享受 4K 极速体验!"


优化服务器TCP整体性能
https://tangsengai.com//archives/you-hua-fu-wu-qi-tcpzheng-ti-xing-neng
作者
Ryan
发布于
2026年01月15日
许可协议