Meu cliente reclama de baixas velocidades de internet. Quando medido com o Speedtest.net, as velocidades são aceitáveis. Downloads medidos periódicos são de 10% a 30% da velocidade nominal. Eu não posso explicar isso.
Algum plano de fundo. A conexão problemática está em uma daquelas ilhas ensolaradas do Caribe, onde a internet rápida não é o maior patrimônio. Ultimamente, a velocidade da internet se tornou decente, até 200 Mbps. Mas a viagem de ida e volta para (digamos) Amsterdã é de cerca de 180 ms.
O cliente possui uma conexão de fibra de 100 Mbps. Ao executar um teste de velocidade em uma máquina Windows (speedtest.net) para o provedor de serviços de Internet, obtemos 95 Mbps. Ao usar o mesmo teste de velocidade em Amsterdã, chegamos a 60-70 Mbs. Totalmente aceitável.
Há algum tempo, instalei um RasPi que periodicamente retira o arquivo de um dos meus servidores em Amsterdã. Em um datacenter, diretamente conectado ao AMS-IX. Usando este comando:
wget -O /dev/null --report-speed=bits http://aserv.example.net/~myuser/links/M77232917.txt
O arquivo .txt tem 23 MByte de números. (Na verdade, é o único, mas maior Mersenne Prime, 23e6 dígitos)
Quando faço o download desse arquivo na rede problemática, o wget relata o seguinte:
dev/null 100%[====================================================================>] 22.81M 11.6Mb/s in 17s
2019-02-08 14:27:55 (11.2 Mb/s) - ‘/dev/null’ saved [23923322/23923322]
Isso é ao mesmo tempo que o speedtest.net relata 60-70 Mbps.
Eu sei que o Raspi tem suas limitações. Mas essa velocidade varia muito. Uma vez que o RasPi relata esses 11 Mbps, na próxima vez 22 Mbps. Mas, às vezes, tão baixo quanto 1,5 Mbps.
Quando faço esse teste com um laptop realmente poderoso, as velocidades máximas são um pouco mais altas (até 30 Mbps), mas também mostram os mesmos pontos baixos. Portanto, indica uma limitação do RasPi no lado alto, mas não os 10 Mbps no lado baixo.
Emiti exatamente o mesmo comando de um servidor em Munique, Alemanha, em um datacenter. Velocidade 96 Mbps.
Em seguida, de um consumidor de conexão de fibra de 100 Mbps na Holanda: 65 Mbps.
Então, na minha casa, que tem ADSL nominal de 10 Mbps. Speedtest mostra 10Mbps. O Wget oferece 8,5 Mbps. O que é igual no meu livro.
Isso exclui qualquer limitação no servidor que atua como host para o download do arquivo.
Não espero que alguém possa apontar a causa da lentidão da conexão nas instalações do cliente. Mas alguém pode explicar a discrepância entre o speedtest.net e o wget?
Existe algo que o speedtest ignora ou mede apenas os picos? Ou o wget é seriamente influenciado por longos tempos de ping?
Eu sinto que o teste wget fornece a velocidade real e efetiva, enquanto o speedtest é principalmente para mostrar a velocidade anunciada.
fonte
ssh personal-server cat /dev/zero | pv > /dev/null
, em um servidor pessoal que você sabe que a taxa não é limitada a ser mais lenta do que a velocidade esperada.Respostas:
Além dos outros motivos publicados, as conexões TCP não funcionam bem com arquivos grandes quando o produto de atraso de largura de banda se torna grande.
Como em uma conexão rápida com uma ilha.
Veja a entrada da Wikipedia sobre ajuste de TCP .
Portanto, o Speedtest pode despejar um arquivo pequeno por meio da conexão a 95 mb / s, mas
wget
pode obter apenas 10 mb / s em um arquivo de 20 MB.fonte
Os ISPs geralmente priorizam o tráfego no speedtest.net para que eles possam se gabar da rapidez com que suas conexões são, enquanto na realidade eles não fornecem tanta largura de banda. Eles estão perfeitamente cientes de que a maioria dos usuários verifica apenas esse site para confirmação.
Você também deve ter em mente que a velocidade de transferência depende do cliente e do servidor. No mundo de hoje, a maioria dos servidores acelera de uma maneira ou de outra.
Por fim, não faz sentido esperar largura de banda estável para conexões no exterior. Simplesmente não existe tal coisa. Ele precisa passar por um número infinito de comutadores, fibras e datacenters para chegar ao local final. E basta apenas uma parte móvel para diminuir a velocidade.
fonte
wget
dê uma boa medida prática da velocidade. Os testes do Speedtest provavelmente incluem um tipo de paralelismo que pode explicar números mais altos.Para um bom teste de velocidade média, acho que o tempo para o download deve ser de pelo menos 90 a 120 segundos (para obter uma boa média)
fonte
wget
e somar a velocidadeUm motivo pode ser que muitas vezes a velocidade máxima não pode ser alcançada por apenas uma única conexão TCP.
O Speedtest.net introduziu recentemente um único modo de conexão. Tente isso e veja se isso faz diferença.
Em seguida, para o download, use, por exemplo, aria2 com parâmetros para usar várias conexões e comparar. por exemplo
aria2c -d /dev -o null --allow-overwrite=true --file-allocation=none --max-connection-per-server=8 --min-split-size=1M http://aserv.example.net/~myuser/links/M77232917.txt
fonte
Use o Fast.com Internet Speed Test , este é um teste de velocidade baseado na Netflix, o que significa que não pode ser diferenciado pelos ISPs da própria Netflix.
Este é um teste mais preciso do que qualquer outro teste em geral. As pessoas não ficarão preocupadas com a rapidez com que uma página da web é carregada, mas com a rapidez com que os vídeos são armazenados em buffer devido ao aumento da largura de banda necessária para exibir um vídeo.
Os ISPs geralmente aumentam a velocidade com base no domínio ao qual alguém está se conectando, se for um teste de velocidade ou usando a porta 8080. Enquanto o Netflix usa a porta 80, uma porta mais lenta quando está sendo priorizada.
fonte
Sou eu ou ninguém percebeu que ele disse Mbps e a lista de comandos do wget "MB / s".
60mbp / s e, na verdade, obter 11.2Mb's é normal.
Mbps e MB / s são duas velocidades diferentes.
"um Megabit é 1/8 do tamanho de um Megabyte, o que significa que para baixar um arquivo de 1 MB em 1 segundo, você precisará de uma conexão de 8 Mbps." Então 11mbx8 = 88mbps ... 11,2Mb é realmente bom para um relatório de conexão 60-70mbps.
As pessoas que têm memória perdem a importância disso. Você nunca terá 70mb / s com uma velocidade mais rápida de 70Mbps
fonte
wget
é Mb / s, que se traduz em Megabits / s . MB / s seriam traduzidos para MegaBytes / s . Basta executar seu própriowget
comando e verificar o resultado.wget
comando inclui--report-speed=bits
quais resultadosMb/s
são quaisMbit/s
. Correr sem--report-speed=bits
dá oMB/s
que se traduz emMByte/s
. Observe ob
eB
.