本篇记述了服务器支持大文件下载时要注意的一个问题
服务器上的大文件下载,在普通用户请求时不会有大问题,因为普通用户的下载带宽通常在几十M左右,因此一个请求对服务器的带宽压力不大。
但当服务器作为CDN回源时就千万要注意了,CDN的机房带宽通常可以达到数百M甚至上G,而IDC机房的带宽费用往往是根据峰值带宽来计算。
因此如果CDN回源大文件时不对服务器带宽做限制,将会出现瞬间极大峰值,造成不必要的经济损失。
解决问题的核心在于限制服务器上行带宽。
我们通过对nginx增加带宽限制尝试解决这个问题。
nginx里有2个配置项
limit_rate 限制单个请求带宽峰值,512, 1k, 10m
limit_rate_after 当下载超过一定大小后开始限制,100m, 100k
进行如此配置后,我们用curl进行测试,发现当文件下载超过一定大小后,下载速率就会降到limit_rate设定的带宽值。
总结:如果网站有大文件资源时,一定要注意下载速率的配置,特别是在做CDN回源时尤其必须对速率进行配置。即便不做CDN回源,在某些特殊场景下也有可能出现高带宽下载,因此要特别注意!
---------------------------------
我是Leey,欢迎关注我的文章!
领取专属 10元无门槛券
私享最新 技术干货