Como limitar a velocidade máxima da rede em todo o host virtual?

2

Antecedentes

Eu tenho um Apache (com NginX Reverse Proxy) como servidor web. Eu tenho um fórum e um serviço de hospedagem de imagens em execução.

Mas, como você sabe, o serviço de host de imagem causa muita largura de banda de rede (Mbps). Eu quero reservar parte da largura de banda para o meu fórum, limitando o tráfego máximo no host virtual do serviço host da imagem.

O que eu fiz:

Apache

Eu instalei o módulo mod_bw para limitar a largura de banda máxima. Parece funcionar muito bem porque diminui o carregamento da página. Mas isto não é o suficiente. Eu preciso limitar a velocidade de download também e agora a imagem será baixada a toda velocidade. Então, este não está funcionando (ou parcialmente funcionando), mas eu vou mantê-lo no link .

Nginx

O módulo interno limit_rate está trabalhando para baixar a imagem. Por isso, parece que se combinar dois módulos, o serviço de hospedagem de imagem pode ser executado em um ambiente restrito. Mas espere um minuto ... Quando eu baixar várias imagens de uma só vez, todas as imagens serão baixadas na mesma velocidade limitada. Por exemplo, configuro para 50KB / s, se eu baixar uma imagem, a velocidade máxima é de 50KB / s. E então eu baixei outro arquivo de imagem antes do último, a velocidade de download de ambas as imagens é de 50KB / s, no total é de 100KB / s.

Isso não é o que eu preciso.

O que eu realmente preciso é:

Não importa quantos usuários simultâneos estejam navegando na página da Web do host da imagem ao mesmo tempo, eles só poderão compartilhar a largura de banda total definida como 50KB / s. (Apenas um exemplo, vou aumentar isso)

Como eu tenho o Apache e o NginX, não me importo de combinar vários módulos para me ajudar a alcançar o objetivo. Por favor me ajude a resolver o problema, muito obrigado!

    
por AkiEru 12.09.2016 / 11:33

1 resposta

0

Se você precisar definir um limite para as conexões, poderá fazê-lo com as diretivas limit_zone e limit_conn . Exemplo:

Dentro da sua configuração de bloqueio de servidor:

limit_rate 128K; limit_zone one $binary_remote_addr 10m;

Dentro da configuração do seu bloco de localização:

limit_conn one 10;

Neste exemplo, ele permitiria 10 conexões por IP com 1 Mbit cada.

    
por 05.05.2018 / 22:03