Nginx带宽控制
这篇讲的是作者如何用Nginx替代Squid来实现文件下载的带宽控制。他首先介绍了Nginx自带的 `limit_rate` 和 `limit_rate_after` 指令,可以轻松设置“下载超过500KB后限速50KB/s”的规则。 但挑战在于,这是单连接限速。如果想控制总带宽(比如总出口100M),单纯限制每个连接速度并不够灵活,无法应对用户数变化带来的动态调整。为此,文章组合使用了 `limit_conn` 模块来限制并发连接数,从而变相控制总带宽,并分析了这种方案的局限性。 文章还探讨了更根本的解决方案:使用第三方 `limit_speed` 模块,或者借助Linux底层强大的TC命令进行流量整形(尽管配置复杂)。结尾处,作者推荐了功能相关但场景不同的 `limit_req` 模块。整体来看,文章从一个实际需求出发,梳理了Nginx在带宽控制方面的多种能力与边界,提供了不同复杂度下的实践思路。