location /downloads/ {
    limit_rate 2m;
    limit_rate_after 10m;
}

新版本发布后二十多人同时下载 800MB 安装包,出口带宽 100Mbps 跑满,站点打不开,监控显示下载流量占了 98%。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。

原因不复杂,下载目录没有做单连接限速,每个连接都能吃满带宽。文件也没走 CDN,全部回源到同一台机器。

围绕「并发下载带宽」排查时,命令行跑一遍比在面板里点十次有用,面板会替你做掉不少隐式操作。动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。

一次只改一处,改完立刻验证,几个改动叠在一起,出问题就说不清是谁导致的。先做最小复现,能稳定跑出来的问题,排查成本会低一个数量级。

处理上按这个顺序:静态下载加 limit_rate,单连接限制在 2MB/s;大文件推到对象存储或 CDN,源站只做跳转;用五个并发连接同时下载,观察出口带宽是否稳定在阈值内。

改完只确认一件事:五个并发下载时出口带宽不超过 60Mbps,首页仍能正常打开。

作者 9823189