Aqui os escribo este tutorial de mod_cband que es un modulo de apache nos permite controlar el ancho de banda usado por los usuarios conectados al servidor, ya sea en forma individual o general.
Instalación:
Descargamos el modulo.
Pagina del proyecto: http://sourceforge.net/projects/cband/
# wget http://downloads.sourceforge.net/cband/mod-cband-0.9.6.1.tgz?modtime=1138205796&big_mirror=0
Descomprimimos las fuentes
# tar -xvf mod-cband-0.9.6.1.tgz
Instalando dependencias necesarias
# yum install http-devel
Compilando las fuentes
# ./configure
# make
# make install
Agregamos el modulo al apache en el archivo httpd.conf, por defecto se agrega automáticamente la linea al compilar, si no fuera el caso, agregar la siguiente linea
# vim /etc/httpd/conf/httpd.conf
LoadModule cband_module modules/mod_cband.so
También es necesario agregar
CBandScoreFlushPeriod 1
CBandRandomPulse On
Reiniciamos el apache
# /etc/init.d/httpd restart
Ahora a configurar los dominios virtuales del apache:
En mi caso lo tengo en /etc/httpd/conf.d/virtual.conf
Se puede dar el caso de tenerlo en el mimos httpd.conf
Configuraciones y Limitaciones por Sitio
CBandSpeed 1024kbps 10 30
CBandRemoteSpeed 20kb/s 3 3
El parámetro CBandSpeed es una configuración Global para dicho Sitio, definimos que lo usuarios no podran sobrepasar los 1024Kbps, 10 respuestas por segundo y 30 conexiones abiertas.
El parámetro CbandRemoteSpeed es una configuración para cada usuario conectado en forma separada, definimos que el usuario en forma individual podra descargar a lo máximo 20Kb/s con 3 peticiones por segundo y 3 conexiones permitida.
Asi quedara nuestro virtual host
# vim /etc/httpd/conf.d/virtual.conf
«<«VirtualHost *:80″>»
DocumentRoot /var/www/html/miweb.com
ServerName miweb.com
ServerAlias www.miweb.com
ErrorLog logs/miweb.com_error.log
CustomLog logs/miweb.com_access.log combined
CBandSpeed 1024kbps 10 30
CBandRemoteSpeed 50kb/s 3 3
LogLevel warn
«<«/VirtualHost»>»
Nota: por alguna razon al poner mayor o menor no sale, asi que agrege «>» y «<«. para para que funcione no deben ir las comillas doble. Mucho ojo con eso.
Reiniciamos el apache
# /etc/init.d/httpd restart
y probamos nuestra web…. recomendaciones, podemos cambiar las variables, reiniciar el apache y probar.
Otras opciones
Podemos limitar el trafico mensual con:
CBandLimit 100M
Podemos ver en Linea el trafico y conexiones, etc (estatus de cband) con:
Creamos la carpeta
# mkdir /var/www/scoreboard
Le damos permisos para el apache
# chown apache:apache /var/www/scoreboard
Y agregamos al virtual host
CBandScoreboard /var/www/scoreboard
CBandPeriod 4W
«<«Location /cband-status»>»
SetHandler cband-status
«<«/Location»>»
«<«Location /cband-status-me»>»
SetHandler cband-status-me
«<«/Location»>»
Todo lo anterior se agrega al dominio virtual, quedando asi:
«<«VirtualHost *:80″>»
DocumentRoot /var/www/html/miweb.com
ServerName miweb.com
ServerAlias www.miweb.com
ErrorLog logs/miweb.com_error.log
CustomLog logs/miweb.com_access.log combined
CBandLimit 1000M
CBandSpeed 1024kbps 10 30
CBandRemoteSpeed 50kb/s 3 3
LogLevel warn
CBandScoreboard /var/www/scoreboard
CBandPeriod 4W
«<«Location /cband-status»>»
SetHandler cband-status
«<«/Location»>»
«<«Location /cband-status-me»>»
SetHandler cband-status-me
«<«/Location»>»
«<«/VirtualHost»>»
Nota: por alguna razon al poner mayor o menor no sale, asi que agrege «>» y «<«. para para que funcione no deben ir las comillas doble. Mucho ojo con eso.
Reiniciamos el apache
# /etc/init.d/httpd restart
De lo anterior limitamos el trafico mensual a 1GB
para ver las estadísticas:
http://miweb.com/cband-status o http://miweb.com/cband-status-me
A probar…
Suerte