Como limitar a velocidade da conexão

Como limitar a velocidade da conexão

Estou no CentOS 6.4 e uso o Plesk v11.5.30, embora isso não precise necessariamente ser feito via plesk.

Estou tentando limitar a velocidade de conexão a um site específico. No entanto, as únicas opções que o Plesk me oferece são "Uso máximo de largura de banda" e "Limitar conexões".

O uso máximo de largura de banda é a largura de banda total usada por um domínio, enquanto conexões é o número de conexões (obviamente). O que eu quero fazer é limitar a velocidade a 200kb/s, independentemente de quantas pessoas acessam o domínio. Mesmo que apenas uma pessoa esteja acessando, não quero que ela consiga usar toda a largura de banda, quero que ela fique limitada a 200kb/s

Existe uma maneira de limitar todas as conexões individuais a apenas 200 kb/s para que ninguém possa usar mais de 200 kb/s, mas é claro que se o tráfego for alto, eles poderão usar menos de 200 kb/s?

Para evitar que isso seja específico do plesk, é isso que está na minha configuração e fico feliz em modificá-lo manualmente se houver algum outro parâmetro que eu possa usar:

<IfModule mod_bw.c>
    BandwidthModule On
    ForceBandWidthModule On
    Bandwidth all "0"
    MaxConnection all "0"
    BandWidthError 510
</IfModule>

Responder1

Eu nunca usei este módulo, masa documentaçãoparece bastante simples.

As diretivas são válidas dentro de um <VirtualHost>bloco e só serão aplicadas a esse host virtual se for o caso. Também parece que eles não herdam de partes superiores da configuração, então você deve colocar todas as diretivas relevantes no host virtual.

Sua configuração atual define o limite de largura de banda como "0", o que significa que não há limite. Você quer 200 KB (presumo que você quis dizer kilobytes e não kilobits).

Coloque isso no host virtual que você deseja limitar:

BandwidthModule On
ForceBandWidthModule On
Bandwidth all 204800

O padrão MinBandwidthé 256 bytes/s para que você possa lidar com 800 usuários simultâneos antes que qualquer um deles comece a receber mensagens de erro. Se você acha que 256 bytes/s é um pouco baixo, você também pode adicionar MinBandwidth all 1024o que significa que quando você tiver mais de 200 solicitações simultâneas, o 201º receberá uma mensagem de erro em vez da página solicitada e todas as 200 anteriores serão garantido pelo menos 1 KB/s.

Normalmente não me preocupo com esses <IfModule>blocos porque tudo o que eles fazem é esconder seus erros e fazer você pensar que o mod_bw está funcionando quando ainda nem foi carregado.

Responder2

Eu descobri isso usando LargeFileLimit:

<IfModule mod_bw.c>
BandwidthModule On
ForceBandWidthModule On
Bandwidth all "52428800"
MaxConnection all "400"
LargeFileLimit * 1024 204800
BandWidthError 510
</IfModule>

Isso significa que o domínio está limitado a 50 MB de largura de banda (52428800), que só pode ter 400 conexões ao mesmo tempo e que quaisquer arquivos acima de 1 MB serão limitados a 200 Kb/s (204800).

Para quem estiver lendo isso mais tarde, você também pode colocar uma extensão em vez de * para limitar apenas zips, rars, avis ou qualquer outra coisa.

informação relacionada