Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
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:32] 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 27: | Linha 38: | ||
===== Configuração do Servidor ===== | ===== Configuração do Servidor ===== | ||
- | === Sistemas operacionais testados: CentOS 7, Ubuntu 16.04 e 18.04 === | + | === Sistemas operacionais testados: === |
- | === 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. === | + | |
+ | Ubuntu 20.04, Debian 10 | ||
+ | |||
+ | === Requisitos de hardware: === | ||
+ | |||
+ | 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 44: | 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 68: | 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 89: | 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 104: | 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 113: | 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 ===== |