今天突然发现自己的服务器访问异常缓慢,从阿里云的监控平台上看到,CPU的利用率并不高,但是带宽却已经被吃满了,导致网站访问异常缓慢,跟踪了一下发现是某个用户下载网站上的大文件导致了带宽吃紧的情况。因此需要限制某个用户的独占带宽。
具体操作
1.安装带宽限制模块
1 |
$ sudo apt-get install libapache2-mod-bw |
2.启用模块
1 |
$ a2enmod bw |
3.配置网站对于带宽的限制规则
1 |
$ sudo vim /etc/apache2/sites-enabled/000-default.conf |
在原有的
1 2 3 4 |
<VirtualHost *:80> ................... ................... </VirtualHost> |
之间增加如下内容
1 2 3 4 5 6 7 8 9 |
# activate bandwidth limitation BandwidthModule On ForceBandWidthModule On # * 表示文件类型,所有大于1000k的文件下载速度100k , 这里我当时以为两个单位一样的。。。 LargeFileLimit * 1000 100000 # 不限制单个用户的带宽占用 BandWidth all 0 # 每个IP地址建立的最大连接数量,由于NAT上网的存在,多用户可能同一个外网IP,因此这个数字不可太小 MaxConnection all 120 |
然后重启Apache2
.
1 |
$ sudo service apache2 restart |
注意,如果配置了HTTPS,那么对应的配置文件也需要调整。