Pasar al contenido principal
Alberto Permuy Leal

Menú de navegación

  • Home
  • Blog
  • Proyectos
  • Arsenal
  • Conciertos
  • Acerca de
  • Contacto

Ruta de navegación

  1. Inicio
  2. Blog de Alberto Permuy Leal

mod_bw , control ancho banda en Apache2

By Un veloz murci… (no verificado), 4 Junio, 2010



Como he comentado en anteriores posts, no suelo usar apache2 en las instalaciones y proyectos que de mi dependen al 100%. Prefiero soluciones como Cherokee y NGINX.El caso que es últimamente "juego" bastante con apache2, por suerte o por desgracia.Por desgracia cuando compruebo que aún existen administradores de sistemas que piensan que no hay vida después de apache2 ¡qué pena!. Por suerte por que no dejo de sorprenderme.Apache Software Foundation es un monstruo.Basta con echarle un vistazo a su sitio web para darse cuenta.No dejo de sorprenderme al comprobar lo maravilloso, increíble y prolífico que es el mundo del software libre. No prentendo que este post sea una lección de evangelización, simplemente quiero reconocer el trabajo de la gente de http://ivn.cl/. ¿Necesitas controlar el ancho de banda de tu servidor Apache2? Ellos lo han echo. Han desarrollado mod_bw para apache2. Funciona muy bien y está muy bien documentado en un fichero .txt que se puede leer antes de compilar el módulo.¿Compilar?!Tengo miedo! Nada de eso. Doy las claves para instalar y configurar mod_bw en apache2. Ya vereis como es muy sencillo.


[root@patriciaconde] aptitude update && aptitude install apache2-dev


Un poco de paciencia y ya tenemos instaladas las herramientas de desarrollo para apache2.Sólo utilizaremoso apxs, que es el acrónimo de APache eXtenSion tool, una herramienta para construir e instalar extensiones(módulos) para apache2.


[root@patriciaconde] wget http://ivn.cl/files/source/mod_bw-0.91.tgz
[root@patriciaconde] tar zxvf mod_bw-0.91.tgz
[root@patriciaconde] apxs2 -i -a -c mod_bw.c


Deberíamos visualiar algo parecido a ...


[root@patriciaconde] apxs2 -i -a -c mod_bw.c
/usr/share/apr-1.0/build/libtool --silent --mode=compile --tag=disable-static i486-linux-gnu-gcc -prefer-pic -DLINUX=2 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_REENTRANT -I/usr/include/apr-1.0 -I/usr/include/openssl -I/usr/include/xmltok -pthread -I/usr/include/apache2 -I/usr/include/apr-1.0 -I/usr/include/apr-1.0 -c -o mod_bw.lo mod_bw.c && touch mod_bw.slo
(..)
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 644 /usr/lib/apache2/modules/mod_bw.so
[preparing module `bw' in /etc/apache2/mods-available/bw.load]
Enabling module bw.
Run '/etc/init.d/apache2 restart' to activate new configuration!

Fácil, verdad? Ahora sólo tenemos que aplicar las directivas de mod_bw a un vhost de apache2.He subido una imagen ISO de Ubuntu 10.04 al raiz del webserver y he probado a descargar el fichero sin aplicar restricción alguna de ancho de banda.Después he modificado el fichero /etc/apache2/sites-available/default. El contenido del fichero con mod_bw activado es:


Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
BandwidthModule On
ForceBandWidthModule On
Bandwidth all 10240
MinBandwidth all -1

http://ivn.cl/
Más información para freaks

root@patriciaconde:~/compilaciones# apache2 -V
Server version: Apache/2.2.14 (Ubuntu)
Server built: Apr 13 2010 19:28:27
Server's Module Magic Number: 20051115:23
Server loaded: APR 1.3.8, APR-Util 1.3.9
Compiled using: APR 1.3.8, APR-Util 1.3.9
Architecture: 32-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT=""
-D SUEXEC_BIN="/usr/lib/apache2/suexec"
-D DEFAULT_PIDLOG="/var/run/apache2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="/var/run/apache2/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
-D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"



[Pantallazo de una descarga con mod_bw activado en un Apache 2.2.14 con Ubuntu 10.04]


Quizá te interesen estos artículos...

Como descargar música desde Spotify con docker en Linux

Publicado el 10/05/2025

Activar Wake On LAN (wol) al iniciar Debian 12

Publicado el 28/09/2024

Usuario y contraseña router ZTE ZXHN H298Q R Cable

Publicado el 05/01/2024

Aviso legal 


Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.

Sígueme en Mastodon

Powered by Drupal