Prezados Colegas,
Primeiramente Saudações Pinguianas a todos!
Nesse artigo eu vou explicar com limitar a banda no Apache.
Introdução
O Apache é um servidor de páginas WEB mais famoso da atualidade e muito conhecido no mundo livre. Muitas pessoas o utilizam para criar servidores de hospedagem de sites WEB e vendem largura de banda, espaço em disco e acesso a algum banco de dados.
O que muitos não sabem como fazer é este tipo de controle e como agregar isso ao Apache2 de forma simples e eficiente. O Debian vem nos dar uma mão para resolver este problema e conseguir agregar uma solução simples e prática de utilizar rapidamente um controle de banda para seus domínios virtuais (Virtual Domains).
Então, vou pré-supor que você tenha o apache instalado para implementar essa solução.
Entendendo o módulo mod_cband do Apache2
O módulo mod_cband é um módulo do Apache2 fornecido para resolver o problema de limitar a banda utilizada pelos usuários e virtual hosts. A versão (0.9.7.4-2) do módulo pode definir quotas de banda utilizada tanto para usuários, quanto para os virtual hosts, velocidade máxima de download, requisições por segundo e o número máximo de conexões de IP simultâneas.
Agora, não sei porque cargas d’águas esse pacote não vem mais nos repositórios do Debian. Por isso, vamos fazer o download e instalação, conforme eu vou mostrar nos comandos abaixo:
Baixando:
Instalando:
1
|
# dpkg -i libapache2-mod-cband_0.9.7.4-2_i386.deb |
Uma vez instalado o pacote do módulo, ativá-lo no Debian é muito simples, basta executar:
1
|
# a2enmod cband |
Configurando um domínio virtual simples
Para que o controle de tráfego feito seja aproveitado é necessário que sejam adicionados ao domínio virtual as seguintes diretivas mostradas no exemplo abaixo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<VirtualHost *> ServerName www.dominio.com.br ServerAdmin [email protected] DocumentRoot /var/www/dominio CBandLimit 1G CBandRemoteSpeed 10kb /s 3 5 CBandExceededSpeed 128 5 15 CBandPeriod 4W <Location /cband-status > SetHandler cband-status < /Location > <Location /cband-status-me > SetHandler cband-status-me < /Location > < /VirtualHost > |
Podemos ver que as configurações que diferem de configurações normais são:
CBandLimit: Define a Banda limite que pode ser utilizada
CBandRemoteSpeed: Define a velocidade de conexão que pode ser utilizada no máximo, onde 10kb/s é a taxa de tráfego por segundo, o 3 é o número máximo de requisições por segundo e o 5 é o número máximo de conexões vinda de um mesmo cliente.
CBandExceededSpeed: Define o tráfego máximo que pode ser utilizado caso a velocidade de transferência tenha sido excedida.
CBandPeriod: É o tempo que leva para a contagem do uso de banda definido em CBandLimit expirar.
Após estas configurações, definimos duas localizações:
/cband-status: Que vai mostrar a utilização de banda de todos os subdomínios é vai possibilitar realizar um reset nos contadores de banda.
/cband-status-me: Que vai mostrar a utilização de banda do domínio na barra de endereços (no caso um domínio virtual em questão).
Feito estas configurações, basta dar um ‘force-reload’ no Apache para ativar as configurações:
# /etc/init.d/apache2 force-reload
Prontinho! A banda de download está limitada!