首页 » 网站建设 »

Apache自带限速模块mod_ratelimit

2019年2月2日 / 346次阅读
APACHE

网站只有1M的带宽,如果提供大文件的下载,基本上在下载期间,网页就打不开了。所以有必要对可以下载的资源文件进行限速(访问网页不限速)。正好,Apache自带了一个模块,叫做mod_ratelimit,虽然不完美,但可以勉强先用用。

Provides a filter named RATE_LIMIT to limit client bandwidth. The throttling is applied to each HTTP response while it is transferred to the client, and not aggregated at IP/client level. The connection speed to be simulated is specified, in KiB/s, using the environment variable rate-limit.

mod_ratelimit提供了一个过滤器叫做RATE_LIMIT,用来限制客户带宽。限制应用在每个HTTP给客户传输回应数据时,而不是在IP层面。(也就是说,如果同一个IP多个HTTP连接,只针对每个HTTP进行限制)

配置单位是KiB/s。(KiB是啥意思

Optionally, an initial amount of burst data, in KiB, may be configured to be passed at full speed before throttling to the specified rate limit. This value is optional, and is set using the environment variable rate-initial-burst.

还有一个可选项,初始的burst速率,也是以KiB为配置单位。

 

打开mod_ratelimit模块:

LoadModule ratelimit_module modules/mod_ratelimit.so

 

mod_ratelimit配置举例:

<Location "/downloads">
    SetOutputFilter RATE_LIMIT
    SetEnv rate-limit 400 
    SetEnv rate-initial-burst 512
</Location>

在/downloads目录下设置RATE_LIMIT过滤器,每个HTTP限速400KiB,初始burst速率为512KiB。

rate-initial-burst从apache 2.4.24版本开始支持。

 

最后,使用firefox的下来来测试ratelimit的配置是否成功:

测试ratelimit的配置

测试ratelimit的配置

这里看到的KB速度,对应自己服务器的配置,不作为绝对数字测试。麦新杰的测试成功!

本文链接:https://www.maixj.net/wz/mod_ratelimit-20004

相关文章

留言区

《Apache自带限速模块mod_ratelimit》有2条留言

  • 麦新杰

    360浏览器的下载配置中,去掉下载加速模块这个选项,然后再测试! []

  • 麦新杰

    配置好了mod_ratelimit后是测试,要注意测试环境是否只有一个HTTP链接在下载,比如用老版本的IE来测试就OK,360浏览器的极速模式,就是多个链接在同时下载。既然不能避免多个链接的下载,可以考虑将每个链接的速率限制的更小一点。 []


前一篇:
后一篇:

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top