Montando um velocímetro de internet com PHP e GD 
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.
[ Hits: 127.606  ]
Por: Kemper Alves em 04/07/2007  
 
 
O que é necessário 
Veremos agora as ferramentas necessárias para desenvolver o projeto:
 PHP4 ou PHP5;
  GD4 ou GD5;
  Editor de textos, sugiro vim :)
  
Como eu utilizo o 
Debian , para instalar estas ferramentas basta, como root, entrar com o comando:
Debian Etch:
# apt-get install php5 php5-gd vim 
Debian Sarge:
# apt-get install php4 php4-gd vim 
Outros sistemas, consulte a documentação. :(
Bom, instalados os componentes, vamos ao desenvolvimento...
 
 
Páginas do artigo
   1. 
Entendendo o Funcionamento 
   2. O que é necessário
   3. 
A página desempenho.php 
   4. 
O script grafico_desempenho.php 
   5. 
Publicando 
Outros artigos deste autor
 
 
 
 
 
Leitura recomendada
 
 
 
 
 
Comentários
	
		
		
	
	
	
	
	
	
 
	
		
		
		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?
	
 
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							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? 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							pankdao_dj:
Qual erro esta acontecendo?
No chute, pode ser que o GD nao estah instalado no seu servidor.
Outra coisa, me passa a url depois de pronto pra eu ver... 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							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. 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Bem bacana mesmo! Parabéns! =) 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
		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
Voce tem alguma ideia? 
http://shamira.no-ip.org:8082/desempenho.php 
	 
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							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
Voce tem alguma ideia? 
http://shamira.no-ip.org:8082/desempenho.php 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							OK, o script desempenho.php nao esta recebendo a variavel velocidade, tente fazer o seguinte:
1) Abra o arquivo de configuracao do php, no debian eh:
/etc/phpX/apace/php.ini   (X eh a versao do php)
2) Localize a linha:
register_globals = Off
3) mude para On
register_globals = On
4) Reinicie o apache.
OBS - Mudar o register_globals para On eh uma potencial falha de seguranca, ha uma outra forma de passar a variavel, vou pesquisar e posto aqui.
 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							ativar o register_globals pode ser 'fatal' em alguns casos.. pois todas as variaveis se tornam globais..
para resolver este problema... basta editar o grafico_desempenho.php e mudar a linha
$velo=$velocidade;
para
$velo=$_GET['velocidade'];
:) 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Pessoal.... alguém conhece um esquema para teste de upload? 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							oi alexandrecorrea,
Obrigado pela correcao, este script era antigo meu e eu deixei passar batido.
[]s
Kemper 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
		Pessoal eu montei um desses medidor, mas em flash muito mais fácil de construir justamente por está pronto para mais detalhes visite o site no seguinte link: 
http://marcelolinux.blogspot.com/2007/07/tenha-seu-prprio-velocmetro-em-flash.html 
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.
	
 
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Pessoal eu montei um desses medidor, mas em flash muito mais fácil de construir justamente por está pronto para mais detalhes visite o site no seguinte link: http://marcelolinux.blogspot.com/2007/07/tenha-seu-prprio-velocmetro-em-flash.html
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. 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							como faço para instalar isso no meu servidor ? para poder testar a minha propria conexao ? 
quem souber me ajuda por favor. 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Muito bom!
Parabens! 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
		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:
http://www.testesuanet.com 
Alguem tem a solução ? 
	
 
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							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:
http://www.testesuanet.com
Alguem tem a solução ?  
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Muito bom artigo. Ótimo script.
Parabéns! E obrigado por publicar. 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Muito bom..Teria como colocar para o grafico ser exibido em um pop-up ? ficaria legal. 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							O teste tá retornando com a velocidade 0 KBs, pq? O que tá errado? 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							no meu diz que a imagem não pode ser exibida, deve ter algum erro 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Sim, provavelmente o GD não está instalado. 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							apesar de o tópico estar parado a um tempo...
existe alguma forma de usar um arquivo com tamanho maior? tipo uns 3MB? 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Sim, altere no arquivo desempenho.php a linha:
$tamanho=256;
para o tamanho que voce quiser, exemplo:
$tamanho = 30192; 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							mt bom. salvando para usar futuramente 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
Contribuir com comentário 
 
Enviar