
Estoy en CentOS 6.4 y estoy usando Plesk v11.5.30, aunque no es necesario hacerlo necesariamente a través de Plesk.
Estoy buscando limitar la velocidad de conexión a un sitio web específico. Sin embargo, las únicas opciones que me ofrece Plesk son "Uso máximo de ancho de banda" y "Limitar conexiones".
El uso máximo de ancho de banda es el ancho de banda total utilizado por un dominio, mientras que las conexiones es la cantidad de conexiones (obviamente). Lo que quiero hacer es limitar la velocidad a 200 kb/s independientemente de cuántas personas accedan al dominio. Incluso si solo accede una persona, no quiero que pueda usar todo el ancho de banda, quiero que esté limitado a 200 kb/s.
¿Hay alguna manera de limitar todas las conexiones individuales a solo 200 kb/s para que nadie pueda usar más de 200 kb/s, pero, por supuesto, si el tráfico es alto, pueden usar menos de 200 kb/s?
Para evitar que esto sea específico de Plesk, esto es lo que hay en mi configuración y estaré encantado de modificarlo manualmente si hay algún otro parámetro que pueda usar:
<IfModule mod_bw.c>
BandwidthModule On
ForceBandWidthModule On
Bandwidth all "0"
MaxConnection all "0"
BandWidthError 510
</IfModule>
Respuesta1
Nunca he usado este módulo perola documentaciónParece bastante sencillo.
Las directivas son válidas dentro de un <VirtualHost>
bloque y, de ser así, solo se aplicarán a ese host virtual. También parece que no heredan de partes superiores de la configuración, por lo que debes colocar todas las directivas relevantes en el host virtual.
Su configuración actual establece el límite de ancho de banda en "0", lo que significa que no hay límite. Quieres 200 KB (supongo que te refieres a kilobytes y no a kilobits).
Pon esto en el host virtual que deseas limitar:
BandwidthModule On
ForceBandWidthModule On
Bandwidth all 204800
El valor predeterminado MinBandwidth
es 256 bytes/s, por lo que puede manejar 800 usuarios simultáneos antes de que alguno de ellos comience a recibir mensajes de error. Si cree que 256 bytes/s es un poco bajo, también puede agregarlo, MinBandwidth all 1024
lo que significará que cuando tenga más de 200 solicitudes simultáneas, la 201 recibirá un mensaje de error en lugar de la página que solicitaron y todas las 200 anteriores serán Garantizado al menos 1 KB/s.
Normalmente no me molesto con esos <IfModule>
bloques porque lo único que hacen es ocultar tus errores y hacerte pensar que mod_bw está funcionando cuando ni siquiera se ha cargado.
Respuesta2
Descubrí esto usando LargeFileLimit:
<IfModule mod_bw.c>
BandwidthModule On
ForceBandWidthModule On
Bandwidth all "52428800"
MaxConnection all "400"
LargeFileLimit * 1024 204800
BandWidthError 510
</IfModule>
Esto significará que el dominio está limitado a 50 MB de ancho de banda (52428800), que sólo puede tener 400 conexiones a la vez y que cualquier archivo de más de 1 MB estará limitado a 200 kb/s (204800).
Para cualquiera que lea esto más tarde, también puede poner una extensión en lugar de * para limitar sólo zips, rars, avis o lo que sea.