@@ -74,7 +74,31 @@ log_info "准备静态资源目录..."
7474mkdir -p /opt/Entropydecrease/website /opt/Entropydecrease/downloads
7575
7676# ---------------------------------------------------------------------------
77- # 4. 构建并启动服务
77+ # 4. 启用 BBR 拥塞控制(幂等)
78+ # 安装包下载实测单流仅 ~143KB/s、而多并发可达 ~550KB/s,典型的跳网
79+ # 丢包导致单流 TCP 吞吐劣化。BBR 对此类链路提升明显。
80+ # 容器共享宿主机内核,宿主机启用即对 Nginx 生效。
81+ # ---------------------------------------------------------------------------
82+ log_info " 检查 TCP 拥塞控制算法..."
83+ CURRENT_CC=$( sysctl -n net.ipv4.tcp_congestion_control 2> /dev/null || echo unknown)
84+
85+ if [ " $CURRENT_CC " = " bbr" ]; then
86+ log_info " BBR 已启用 ✓"
87+ elif sysctl net.ipv4.tcp_available_congestion_control 2> /dev/null | grep -q bbr; then
88+ log_info " 启用 BBR(当前: $CURRENT_CC )..."
89+ # 写入失败(如非 root)不应中断部署,仅告警
90+ if printf ' net.core.default_qdisc = fq\nnet.ipv4.tcp_congestion_control = bbr\n' \
91+ > /etc/sysctl.d/99-bbr.conf 2> /dev/null && sysctl --system > /dev/null 2>&1 ; then
92+ log_info " BBR 已启用(现为: $( sysctl -n net.ipv4.tcp_congestion_control) )✓"
93+ else
94+ log_warn " BBR 写入/生效失败(需 root 权限),已跳过,不影响部署"
95+ fi
96+ else
97+ log_warn " 当前内核不支持 BBR(需 Linux ≥ 4.9),已跳过"
98+ fi
99+
100+ # ---------------------------------------------------------------------------
101+ # 5. 构建并启动服务
78102# ---------------------------------------------------------------------------
79103log_info " 构建 Docker 镜像(首次构建约需 3-5 分钟)..."
80104
@@ -85,13 +109,13 @@ log_info "启动所有服务..."
85109docker compose -f docker-compose.prod.yml --env-file " $ENV_FILE " up -d
86110
87111# ---------------------------------------------------------------------------
88- # 5 . 等待服务就绪
112+ # 6 . 等待服务就绪
89113# ---------------------------------------------------------------------------
90114log_info " 等待服务启动..."
91115sleep 10
92116
93117# ---------------------------------------------------------------------------
94- # 6 . 健康检查
118+ # 7 . 健康检查
95119# ---------------------------------------------------------------------------
96120log_info " 执行健康检查..."
97121
0 commit comments