Estou tendo problemas com internet lenta. Eu usei o speedtest.net em diferentes horários do dia e da semana e o resultado me diz que recebo de 10 a 20% da largura de banda pela qual pago. Meu ISP me diz que a largura de banda prometida é uma média, então um único teste não é prova de uma conexão ruim.
Então agora eu quero fazer vários testes (como a cada x minuto) por vários dias enquanto eu estiver fora, me dando uma média.
Como melhor coletar esses dados?
Esse é um problema conhecido, eu tive que falar com meu ISP várias vezes ao longo de 3 semanas para convencê-los de que algo está errado com a conexão. Minha solução foi automatizar os testes de velocidade para que eles fossem executados a cada 30 minutos usando um contêiner docker feito por Henry Whitacker . A configuração é feita em um raspberry pi, um laptop antigo ou um NAS e deixa-o funcionar por uma semana. Depois disso, você tem uma base muito boa de dados de medição para mostrar seu ISP. Ele ainda é apresentado de uma forma que qualquer pessoa normal pode entender para que você não precise encontrar alguém mais competente do que da última vez.
Para configurá-lo, siga as instruções na página do GitHub , recomendo usar o docker-compose, pois é muito mais fácil do que qualquer outra coisa. Se você quiser dar uma olhada primeiro, há uma versão demo em execução no site pessoal de Henry Whitacker aqui .
Vou responder isso como um problema XY em vez de uma resposta à sua pergunta, já que já existe uma resposta muito boa aqui que aborda sua pergunta.
Teoria
Quando um ISP lhe diz que uma certa velocidade é o que você deve obter de acordo com sua assinatura, essa é realmente uma velocidade que você deve ter permissão para obter em média.
Mas para os consumidores, a internet funciona da seguinte forma: muitos usuários compartilham largura de banda em muitas residências, e isso é chamado de overbooking. A ideia é que a maioria das residências não use toda a largura de banda ao mesmo tempo para que as velocidades possam ser entregues quando necessário, mas também significa que pode acontecer que muitas pessoas tentem fazer upload ou download ao mesmo tempo tempo causando congestionamento que pode reduzir um pouco as velocidades.
Por causa da última frase do parágrafo anterior, os ISPs lhe dirão que as velocidades pelas quais você paga são uma média e que na maioria dos casos você deve obter essa velocidade.
Infelizmente, quando funcionários inexperientes explicam isso, eles não entendem a tecnologia e tudo o que ouvem é: é uma média, então, às vezes, pode-se esperar uma velocidade menor.
Você experimentou uma queda significativa para 10-20% do que sua conexão deveria ser capaz de fazer, o que é muito mais do que normalmente o overbooking causaria, o que sugere que há um problema real em sua linha.
Uma coisa a notar é o seguinte: Se o up ou o download estiver totalmente saturado, o outro também sofrerá. Portanto, se você tiver um upload de 1 MBit e um download de 1000 MBit, mas utilizar totalmente seu upload de 1 MBit, o download também ficará lento. A razão para isso é porque cada sequência de up ou download enviará um pacote de volta para confirmar que foi recebido pela outra parte, e se esse pacote não puder ser enviado de volta, mas estiver na fila, o outro lado aguardará o envio do restante os dados e, portanto, a conexão diminui significativamente.
Isso também significa que, se por algum motivo seu upload for muito menor do que você deveria, mais para 0,1 mbit, você pode apostar que seu download vai flutuar muito e ser lento também porque os pacotes de confirmação são enviados muito lentos também.
Ações para facilitar a solução de problemas
O ISP sempre desejará descartar quaisquer problemas de rede local, por isso é recomendável usar um cabo LAN diretamente do modem para um laptop ou PC (se for um modem / roteador combinado) ou para o roteador por trás dele e realizar o teste de velocidade então. Certifique-se de que todos os outros dispositivos estejam desconectados. Se estiver lento, ligue para o seu ISP, porque este é o estado ideal para você estar e também não está funcionando.
Além disso, outra coisa que o ISP vai querer descartar, são os serviços pendurados dentro do modem, então sempre desligue o modem, espere 10 segundos e ligue-o novamente, e veja se isso resolve seus problemas. Ao chamá-los, você pode dizer a eles que já realizou essas ações. Isso lhes dirá que você sabe o que está fazendo e eles o levarão mais a sério.
Você pode pedir ao ISP para medir a linha a partir de sua extremidade e dizer a eles que você realiza um teste de velocidade com apenas um dispositivo conectado ao modem usando um cabo LAN e que isso deve fornecer resultados ótimos.
Se o ISP disser que não pode medir a linha, peça para ser transferido para uma pessoa com mais experiência, ou se recusar ao seu supervisor.
Se o ISP medir a linha, mas alegar que está funcionando corretamente, provavelmente terá que enviar um mecânico.
Existe uma ferramenta de linha de comando semelhante à speedtest.net chamada
speedtest-cli
: https://github.com/sivel/speedtest-cli . Ele suporta vários formatos de saída, como csv ou json ou formato legível por humanos detalhado padrão. Você pode executarspeedtest-cli
em um loop várias vezes a partir do terminal:Quando terminar, você pode enviar toda essa saída para o ISP como prova de uma conexão possivelmente ruim.
Se você tem uma máquina linux disponível ou wsl no windows (ou no próprio windows, mas é mais tedioso automatizar um script) eu iria com o iperf3.
Aqui estão alguns servidores para usar, provavelmente, teste alguns deles ou encontre o seu próprio.
(neste exemplo, o script é salvo em
/home/speedtest/speedtest.sh
)E faça um cronjob
*/30 * * * * /bin/bash /home/speedtest/speedtest.sh
Você pode ajustar facilmente seu plano de execução com este site