Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
Próxima revisão Ambos lados da revisão seguinte
instalacao_do_servidor_de_medicao_de_velocidade [10/09/2020 17:34]
superuser
instalacao_do_servidor_de_medicao_de_velocidade [11/01/2022 15:53]
superuser
Linha 12: Linha 12:
 | TP-Link WR2543 ​            | 120 Mbps           | | TP-Link WR2543 ​            | 120 Mbps           |
 | Demais modelos ​            | 100 Mbps           | | Demais modelos ​            | 100 Mbps           |
 +
 +^ Modelos TR-069 ​           ^ Velocidade Máxima ​ ^ Full-load ^
 +| ZTE H199  ​     | 550 Mbps           | Sim |
 +| ZTE H198  ​     | 100 Mbps           | Não |
 +| FastWireless FW323DAC | 250 Mbps           | Não |
 +| Huawei EG8145V5 ​           | 850 Mbps           | Sim |
 +| Huawei EG8245Q2 ​           | 250 Mbps           | Não |
 +| Greatek Stavix ​             | 250 Mbps           | Não |
 +| Intelbras WiFiber ​         | 350 Mbps           | Não |
  
 === Atenção === === Atenção ===
  
 Na data atual (04/​03/​2020),​ os modelos Greatek GWR300N e Multilaser RE172 ainda não estão habilitados para realizarem testes de velocidade. Estamos trabalhando para que a sobrecarga feita na CPU durante o teste não prejudique o funcionamento do roteador. Por favor entre em contato conosco para mais informações. Na data atual (04/​03/​2020),​ os modelos Greatek GWR300N e Multilaser RE172 ainda não estão habilitados para realizarem testes de velocidade. Estamos trabalhando para que a sobrecarga feita na CPU durante o teste não prejudique o funcionamento do roteador. Por favor entre em contato conosco para mais informações.
 +
 +Disponibilizamos o teste de velocidade para dispositivos TR-069. Os modelos marcados com "​Sim"​ na coluna Full-load possuem uma configuração avançada no TR-069 que confere maior estabilidade ao resultado da medição.
  
 === Por que existem essas limitações?​ === === Por que existem essas limitações?​ ===
Linha 29: Linha 40:
 === Sistemas operacionais testados: === === Sistemas operacionais testados: ===
  
-CentOS 7, Ubuntu ​16.04 e 18.04+Ubuntu ​20.04, Debian 10
  
 === Requisitos de hardware: === === Requisitos de hardware: ===
  
-Placa de rede gigabit. É recomendado que nenhum outro serviço que utilize a rede esteja rodando na máquina. Recomendamos pelo menos 500MB de RAM livres para o processo do Nginx que será mantido em execução. Recomendamos ao menos 4 núcleos de CPU para download simultâneo dos arquivos durante o teste de velocidade. Ao menos 500MB de espaço devem estar disponíveis para armazenamento dos arquivos de teste que serão baixados durante o teste de velocidade.+Placa de rede gigabit. ​Contudo, caso ofereça planos de 500 Mbps, ou mais, é recomendado que tenha uma interface 10 Gbps. 
 +É recomendado que nenhum outro serviço que utilize a rede esteja rodando na máquina. Recomendamos pelo menos 500MB de RAM livres para o processo do Nginx que será mantido em execução. Recomendamos ao menos 4 núcleos de CPU para download simultâneo dos arquivos durante o teste de velocidade. Ao menos 500MB de espaço devem estar disponíveis para armazenamento dos arquivos de teste que serão baixados durante o teste de velocidade.
  
 **Atenção! Verifique se o link de rede para o servidor está configurado para gigabit tanto no downlink quanto no uplink!** **Atenção! Verifique se o link de rede para o servidor está configurado para gigabit tanto no downlink quanto no uplink!**
Linha 49: Linha 61:
 </​code>​ </​code>​
   - Abra o arquivo de configuração do Nginx com o comando: <​code>​nano /​etc/​nginx/​nginx.conf</​code>​   - Abra o arquivo de configuração do Nginx com o comando: <​code>​nano /​etc/​nginx/​nginx.conf</​code>​
-    - Se você já possui um serviço configurado no Nginx, edite o seu arquivo atual para incluir as configurações abaixo.+    - Se você já possui um serviço configurado no Nginx, edite o seu arquivo atual para incluir as configurações abaixo. Ficar atento ao substituir o usuário do nginx "User nginx",​ porque para cada distribuição o nome do usuário será diferente. Por exemplo no Ubuntu18 por padrão o usuário criado é "​www-data"​.
       - Lembramos que por motivos de performance de rede, não recomendamos que outros serviços estejam configurados na mesma máquina.       - Lembramos que por motivos de performance de rede, não recomendamos que outros serviços estejam configurados na mesma máquina.
   - Configure o Nginx para receber requisições HTTP editando o arquivo aberto: <​code>​   - Configure o Nginx para receber requisições HTTP editando o arquivo aberto: <​code>​
Linha 73: Linha 85:
   access_log /​var/​log/​nginx/​access.log;​   access_log /​var/​log/​nginx/​access.log;​
   error_log /​var/​log/​nginx/​error.log;​   error_log /​var/​log/​nginx/​error.log;​
- 
-  limit_req_zone $request_uri zone=measure:​1m rate=3r/m; 
  
   include /​etc/​nginx/​conf.d/​*.conf;​   include /​etc/​nginx/​conf.d/​*.conf;​
Linha 94: Linha 104:
     alias /​etc/​nginx/​flash-measure-data/;​     alias /​etc/​nginx/​flash-measure-data/;​
     sendfile_max_chunk 1m;     sendfile_max_chunk 1m;
-    limit_req zone=measure ​burst=2 nodelay;+  } 
 +  location /measure/tr069 { 
 +    alias /​etc/​nginx/​flash-measure-data/​tr069/;​ 
 +    sendfile_max_chunk 1m;
   }   }
   location / {   location / {
Linha 109: Linha 122:
 sudo mkdir /​etc/​nginx/​flash-measure-data sudo mkdir /​etc/​nginx/​flash-measure-data
 for i in $(seq 1 3); do sudo dd if=/​dev/​urandom of=/​etc/​nginx/​flash-measure-data/​file$i.bin bs=1M count=50; done for i in $(seq 1 3); do sudo dd if=/​dev/​urandom of=/​etc/​nginx/​flash-measure-data/​file$i.bin bs=1M count=50; done
 +</​code>​
 +  - Para gerar os arquivos de medição que serão utilizados nos dispositivos TR-069 utilize os comandos: <​code>​
 +sudo mkdir /​etc/​nginx/​flash-measure-data/​tr069
 +fileSizes=(512 1920 6400 19200 32000 64000 192000 320000 448000 640000)
 +for i in ${fileSizes[@]};​ do sudo dd if=/​dev/​urandom of=/​etc/​nginx/​flash-measure-data/​tr069/​file_"​$i"​KB.bin bs=1K count=$i; done
 </​code>​ </​code>​
   - (Somente para CentOS) Habilite o serviço Nginx através do comando: <​code>​sudo systemctl enable nginx</​code>​   - (Somente para CentOS) Habilite o serviço Nginx através do comando: <​code>​sudo systemctl enable nginx</​code>​
Linha 118: Linha 136:
     - Se você alterou a porta do serviço no passo 7, não se esqueça de incluir a porta na URL:<​code>​http://<<​ip do servidor>>:<<​porta configurada>>/​measure</​code>​     - Se você alterou a porta do serviço no passo 7, não se esqueça de incluir a porta na URL:<​code>​http://<<​ip do servidor>>:<<​porta configurada>>/​measure</​code>​
     - Você deverá ver uma listagem de arquivos contendo 3 arquivos de 50MB cada: file1.bin, file2.bin, file3.bin     - Você deverá ver uma listagem de arquivos contendo 3 arquivos de 50MB cada: file1.bin, file2.bin, file3.bin
 +    - Confira também se os arquivos para o teste de velocidade em dispositivos TR-069 foram gerados em /​measure/​tr069. Você deverá ver uma listagem de arquivos contendo 10 arquivos de x KB cada nomeados como file_xKB.bin,​ onde x são os valores de 512 a 640000 listados no passo 9.
 +    - Caso os arquivos não sejam exibidos com sucesso, por favor excluir o link para a pasta "/​etc/​nginx/​sites-enabled/​default"​ através do comando abaixo. Por favor antes de excluir, validar se esta configuração está está sendo utilizado por outro serviço.<​code>​rm -f /​etc/​nginx/​sites-enabled/​default</​code>​
 +
 +===== Atualização do Servidor para testes de velocidade em dispositivos TR-069 =====
 +Se você já tem um servidor para teste de velocidade configurado,​ então precisará de poucos passos para habilitar o teste de velocidade para dispositivos TR-069.
 +  - Atualize o Nginx removendo a limitação de conexões para o melhor funcionamento das medições em dispositivos TR-069. Remova a linha: <​code>​limit_req_zone $request_uri zone=measure:​1m rate=3r/​m;</​code>​
 + - Atualize o arquivo de configuração do servidor com a nova rota para os arquivos direcionados ao teste para dispositivos TR-069 com o comando: <​code>​nano /​etc/​nginx/​sites-available/​measure</​code>​
 + - Adicione o trecho relacionado à "​location /​measure/​tr069":​ <​code>​
 +server {
 +  listen 80;
 +  autoindex on;
 +  location /measure {
 +    alias /​etc/​nginx/​flash-measure-data/;​
 +    sendfile_max_chunk 1m;
 +  }
 +  location /​measure/​tr069 {
 +    alias /​etc/​nginx/​flash-measure-data/​tr069/;​
 +    sendfile_max_chunk 1m;
 +  }
 +  location / {
 +    return 403;
 +  }
 +}
 + </​code>​
 +  - Você pode substituir o valor da variável "​listen"​ por outra porta que não seja a 80.
 +    - Se você alterar a porta utilizada, lembre-se de configurar o seu firewall para que seus roteadores consigam acessar o servidor!
 +    - Não se esqueça de inserir um ; no final da linha caso altere a porta! Exemplo:<​code>​
 +listen 25752;
 +</​code>​
 +  - Gere os arquivos de medição que serão utilizados nos dispositivos TR-069. Utilize os comandos: <​code>​
 +sudo mkdir /​etc/​nginx/​flash-measure-data/​tr069
 +fileSizes=(512 1920 6400 19200 32000 64000 192000 320000 448000 640000)
 +for i in ${fileSizes[@]};​ do sudo dd if=/​dev/​urandom of=/​etc/​nginx/​flash-measure-data/​tr069/​file_"​$i"​KB.bin bs=1K count=$i; done
 +</​code>​
 +  - Recarregue o serviço Nginx através do comando: <​code>​
 +(Ubuntu) sudo service nginx restart
 +(CentOS) sudo systemctl restart nginx
 +</​code>​
 + - Teste se o servidor está funcionando acessando em qualquer navegador: <​code>​http://<<​ip do servidor>>/​measure/​tr069</​code>​
 + - Se você alterou a porta do serviço no passo 7, não se esqueça de incluir a porta na URL:<​code>​http://<<​ip do servidor>>:<<​porta configurada>>/​measure/​tr069</​code>​
 + - Você deverá ver uma listagem de arquivos contendo 10 arquivos de x KB cada nomeados como file_xKB.bin,​ onde x são os valores de 512 a 640000 listados no passo 5.
 + - Caso os arquivos não sejam exibidos com sucesso, por favor excluir o link para a pasta "/​etc/​nginx/​sites-enabled/​default"​ através do comando abaixo. Por favor antes de excluir, validar se esta configuração está está sendo utilizado por outro serviço.<​code>​rm -f /​etc/​nginx/​sites-enabled/​default</​code>​
 +
  
 ===== Realizando um Teste de Velocidade ===== ===== Realizando um Teste de Velocidade =====