Neste artigo veremos os passos necessários para a criação de uma página de teste de desempenho/velocidade de sua conexão com a internet utilizando PHP, GD, HTML e javascript.
A idéia principal para uma página de teste de desempenho é:
Armazenar a data e hora atual;
Enviar uma quantidade X de bytes para o computador do usuário;
Armazenar a data e hora em que foi concluída;
Dividir a quantidade de bits pelo tempo gasto em segundos.
Preste muita atenção nisso, velocidade de conexão é medida em b/s, ou seja, bits por segundo, e possui as variações Kb/s, Mb/s, Gb/s, etc. Note que o b é minúsculo, essa é a diferença!
1KB/s = 8Kb/s (1 Kilobyte por segundo é igual a 8 Kilobits por segundo)
128Kb/s = 16KB/s (128 Kilobits por segundo é igual a 16 Kilobytes por segundo).
Outra coisa que deve ser estabelecida desde já:
1KB = 1024 bytes
1Kb = 1000 bits
Bom, então a fórmula para determinar a velocidade da conexão, seria algo como:
velocidade = (bytes * 8) / (horafinal - horainicial)
Onde:
velocidade = velocidade da conexão em bits por segundo
bytes = quantidade de dados transferidos
horainicial = hora em que foi iniciada a transferência
[2] Comentário enviado por m4rc310 em 04/07/2007 - 10:41h
Muito bom, gostei.
Entretando a velocidade medida será específica para o meio entre seu servidor e sua máquina fazendo download certo? Você estará medindo a velocidade da sua rede em questão.
Eu só conheço o www.numion.com/yourspeed para testar a as velocidades escolhendo países. Porém o teste é só pra navegação e não para grandes downloads.
Alguém conhece uma solução melhor e mais genérica?
[4] Comentário enviado por kemperacc em 05/07/2007 - 00:25h
marcelonovol:
Exatamente, a velocidade eh medida entre o meu servidor Web e o Meu cliente, visto que eu sou um provedor de internet, este teste atende totalmente as minhas necessidades.
[6] Comentário enviado por removido em 05/07/2007 - 23:07h
Boa noite. Estou testando o script em minha maquina mas a conexao não esta sendo medida de forma correta. Quando visualizo os logs em /var/log/apache/error_log ele me retorna a seguinte menssagem:
[Thu Jul 5 22:59:25 2007] [error] PHP Notice: Undefined variable: velocidade in /var/www/htdocs/grafico_desempenho.php on line 47
[Thu Jul 5 22:59:25 2007] [error] PHP Notice: Undefined variable: velocidade in /var/www/htdocs/grafico_desempenho.php on line 13
A vantagem dele como sempre do flash é possui a facilidade enorme de instalar e colocar para funcionar em qualquer sistema operacional e com a compatibilidade em praticamente qualquer navegador, bastando apenas copiar os arquivos em flash para qualquer pasta acessível pelo servidor web.
[15] Comentário enviado por Byfred em 12/09/2009 - 01:00h
Muito bom o script, mas com um pequeno problema,
o Internet Explorer primeiro está carregando todos os dados para depois exibi-los, ou seja, o tempo de "start" e "stop" está praticamente o mesmo, isso está fazendo o resultado ficar absurdamente grande, ou algumas vezes aparece "infinity",
Com Firefox e Chorme funcionou perfeitamente...
Aqui está o site para teste: