Descobrir motivos de Lentidão

20
Descobrir Descobrir motivos de motivos de Lentidão Lentidão Por Patrick Brandão – Por Patrick Brandão – TMSoft TMSoft www.tmsoft.com.br www.tmsoft.com.br

description

Descobrir motivos de Lentidão. Por Patrick Brandão – TMSoft www.tmsoft.com.br. Pré-requisitos. Conhecimento básico de informática Laboratório com qualquer S.O. Windows Linux. O que é lentidão num processo. Lentidão é o resultado de latência alta ou perda do pacote, ou ambos. - PowerPoint PPT Presentation

Transcript of Descobrir motivos de Lentidão

Page 1: Descobrir  motivos de Lentidão

Descobrir Descobrir motivos demotivos de

LentidãoLentidãoPor Patrick Brandão – TMSoftPor Patrick Brandão – TMSoft

www.tmsoft.com.brwww.tmsoft.com.br

Page 2: Descobrir  motivos de Lentidão

Pré-requisitosPré-requisitos

►Conhecimento básico de Conhecimento básico de informáticainformática►Laboratório com qualquer S.O.Laboratório com qualquer S.O.

WindowsWindowsLinuxLinux

Page 3: Descobrir  motivos de Lentidão

O que é lentidão num O que é lentidão num processoprocesso

Lentidão é o resultado de latência alta ou perda Lentidão é o resultado de latência alta ou perda do pacote, ou ambos.do pacote, ou ambos.►Latência: é a diferença de tempo entre o início de um Latência: é a diferença de tempo entre o início de um evento e o momento em que seus efeitos tornam-se evento e o momento em que seus efeitos tornam-se perceptíveis (Wikipédia).perceptíveis (Wikipédia).

Alta: pizza demorou assar; pizza assou rápido mas motoboy Alta: pizza demorou assar; pizza assou rápido mas motoboy demorou entregar; pizza assou rápido, motoboy entregou demorou entregar; pizza assou rápido, motoboy entregou rápido, porteiro do condomínio demorou a permitir a entrada.rápido, porteiro do condomínio demorou a permitir a entrada. Baixa: pizza assou rápido e motoboy entregou rápido.Baixa: pizza assou rápido e motoboy entregou rápido.

►Perda do pacote: o pacote saiu da origem mas não chegou Perda do pacote: o pacote saiu da origem mas não chegou no destino.no destino.

Pizza assou rápido, motoboy foi assaltado, outra pizza teve Pizza assou rápido, motoboy foi assaltado, outra pizza teve que ser encomendadaque ser encomendadaObserve que toda perda de pacote aumenta o tempo do Observe que toda perda de pacote aumenta o tempo do processo em no mínimo duas vezes, logo, onde há perda de processo em no mínimo duas vezes, logo, onde há perda de pacote também há latência alta.pacote também há latência alta.

Page 4: Descobrir  motivos de Lentidão

Percepção mental de Percepção mental de lentidãolentidão

►Quando pedimos algo e temos que esperar Quando pedimos algo e temos que esperar além da expectativa, independente de latência além da expectativa, independente de latência ou perda.ou perda. RelativaRelativa: quando se opta por um fornecedor mais : quando se opta por um fornecedor mais

lento que o anterior.lento que o anterior.►Ex.: uma pizza na PizzaMais demora 16 minutos, hoje pedi Ex.: uma pizza na PizzaMais demora 16 minutos, hoje pedi

na PizzaHut demorou 25 minutos. Eu achei ruim, mas os na PizzaHut demorou 25 minutos. Eu achei ruim, mas os clientes da PizzaHut não acham ruim.clientes da PizzaHut não acham ruim.

VicianteViciante: quando se está acostumado com um : quando se está acostumado com um tempo, qualquer evento que demore mais que a tempo, qualquer evento que demore mais que a média será acusado de lento.média será acusado de lento.►Ex.: nas últimas vezes que pedi uma pizza ela demorou Ex.: nas últimas vezes que pedi uma pizza ela demorou

menos 15 minutos, agora ela chegou em 23 minutos.menos 15 minutos, agora ela chegou em 23 minutos.

ProblemáticaProblemática: quando algo demora ao ponto de se : quando algo demora ao ponto de se tornar irritante.tornar irritante.►Ex.: uma pizza demorar 1 hora e 20 minutos para ser Ex.: uma pizza demorar 1 hora e 20 minutos para ser

entregue.entregue.

Page 5: Descobrir  motivos de Lentidão

Principais motivos de Principais motivos de lentidãolentidão

► Link estreitoLink estreito Sem dúvida, o principal causador de lentidão.Sem dúvida, o principal causador de lentidão. A largura de banda real é igual a largura de A largura de banda real é igual a largura de

banda no ponto mais estreito de toda a rede.banda no ponto mais estreito de toda a rede.

100 Megas 25 Megas2 Megas mas comApenas 512k livres

Troca de dados entre os computadores será menorou igual a 512k

Page 6: Descobrir  motivos de Lentidão

Principais motivos de Principais motivos de lentidãolentidão

► Link com apenas um sentido estreitoLink com apenas um sentido estreito Comum em links ADSL, que tem upstream Comum em links ADSL, que tem upstream

ínfimo.ínfimo. Embora haja banda livre para download, o Embora haja banda livre para download, o

upload saturado impede confirmação de upload saturado impede confirmação de pacotes e provoca perdas, levando o protocolo pacotes e provoca perdas, levando o protocolo TCP a negociar baixas taxas de transferencia.TCP a negociar baixas taxas de transferencia.

ModemADSL

Internet

Limite dedownload: 2.048 k, usado: 10 k

Usuário fazendoUpload de filme para megaupload

Usuário com dificuldadesem fazer download pois TCP não consegue enviar confirmação para o site

Limite deupload: 256 k, usado: 256 k

Page 7: Descobrir  motivos de Lentidão

Principais motivos de Principais motivos de lentidãolentidão

► Link com perda de pacotesLink com perda de pacotes O segundo maior causador de lentidão.O segundo maior causador de lentidão. A perda de pacotes de uma rede é no mínimo A perda de pacotes de uma rede é no mínimo

igual a soma da perda de pacotes de todos os igual a soma da perda de pacotes de todos os links no caminho.links no caminho.

Cabo com7% de perda

(conector ruim)

Cabo com5% de perda(cabo ruim)

Wi-fi com interferência45% de perda

Troca de dados entre os computadores sofrerá no mínimo 57%de perda de pacotes

Page 8: Descobrir  motivos de Lentidão

Principais motivos de Principais motivos de lentidãolentidão

► Agravamento em link com perda de pacotesAgravamento em link com perda de pacotes Provoca lentidão muito perceptível mesmo com Provoca lentidão muito perceptível mesmo com

pequenas porcentagens de perda. Analise o caso de um pequenas porcentagens de perda. Analise o caso de um link que está com 50% de perda de pacotes:link que está com 50% de perda de pacotes:AA: o transmissor envia 10 pacotes.: o transmissor envia 10 pacotes.

BB: apenas 5 são confirmados pelo receptor, o transmissor conclui : apenas 5 são confirmados pelo receptor, o transmissor conclui que os outros 5 pacotes foram perdidos e terão que ser que os outros 5 pacotes foram perdidos e terão que ser retransmitidos. (lembre-se: 50% de perda).retransmitidos. (lembre-se: 50% de perda).

CC: os 5 pacotes são retransmitidos. 2 não são confirmados.: os 5 pacotes são retransmitidos. 2 não são confirmados.

DD: os 2 pacotes são retransmitidos. 1 não é confirmado.: os 2 pacotes são retransmitidos. 1 não é confirmado.

EE: o último pacote é transmitido e confirmado.: o último pacote é transmitido e confirmado.

Conclusão: precisamos de 5 tempos para enviar 10 Conclusão: precisamos de 5 tempos para enviar 10 pacotes numa rede com 50% de perda. A rede está 5x pacotes numa rede com 50% de perda. A rede está 5x mais lenta.mais lenta.

Observe que não aplicamos a perda aos pacotes de Observe que não aplicamos a perda aos pacotes de confirmação (ACK) senão demoraria mais ainda a confirmação (ACK) senão demoraria mais ainda a concluir o envio bem-sucedido dos 10 pacotes. Simule concluir o envio bem-sucedido dos 10 pacotes. Simule agora com 80% de perda.agora com 80% de perda.

Page 9: Descobrir  motivos de Lentidão

Principais motivos de Principais motivos de lentidãolentidão

► Latência da redeLatência da rede Casada com a tecnologia da rede.Casada com a tecnologia da rede.

►Satélite: entre 100 e 900 ms.Satélite: entre 100 e 900 ms.►Fibra óptica e fast/giga ethernet: menor que 1 ms.Fibra óptica e fast/giga ethernet: menor que 1 ms.►Wireless: entre 1 e 50 ms. Varia de acordo com distância, Wireless: entre 1 e 50 ms. Varia de acordo com distância,

elementos físicos (transmissor, cabo, antena) e elementos físicos (transmissor, cabo, antena) e interferências.interferências.

A latência é inversamente proporcional a largura A latência é inversamente proporcional a largura de banda livre, ou seja:de banda livre, ou seja:►Muita banda livre = latência baixa (boa).Muita banda livre = latência baixa (boa).►Pouca banda livre = latência alta (ruim).Pouca banda livre = latência alta (ruim).

Page 10: Descobrir  motivos de Lentidão

Principais motivos de Principais motivos de lentidãolentidão

► Latência da redeLatência da rede A latência entre dois computadores é igual a soma A latência entre dois computadores é igual a soma

da latência de todos os links no caminho entre da latência de todos os links no caminho entre eles.eles.

1 ms 10 ms50 ms

Latência entre computadores será de 61 ms

Page 11: Descobrir  motivos de Lentidão

Reação a lentidãoReação a lentidão►O protocolo TCP e a perda de pacotesO protocolo TCP e a perda de pacotes

TCP é confiável, quando um pacote transmitido não é TCP é confiável, quando um pacote transmitido não é confirmado ele será retransmitido.confirmado ele será retransmitido.

Insistente mas não obstinado: se após inúmeras Insistente mas não obstinado: se após inúmeras retransmissões ele não for confirmado, a conexão é retransmissões ele não for confirmado, a conexão é finalizada (download cai, MSN cai, vídeo/música para de finalizada (download cai, MSN cai, vídeo/música para de tocar, etc...).tocar, etc...).

Velocidade dinâmica (chamado de janela deslizante): a Velocidade dinâmica (chamado de janela deslizante): a velocidade de transmissão será baseada nas estatísticas velocidade de transmissão será baseada nas estatísticas das confirmações do último envio, exemplo de conexão:das confirmações do último envio, exemplo de conexão:► 10 pacotes enviados -> 10 confirmados, 15 kbp/s.10 pacotes enviados -> 10 confirmados, 15 kbp/s.► 20 pacotes enviados -> 20 confirmados, 30 kbp/s.20 pacotes enviados -> 20 confirmados, 30 kbp/s.► 40 pacotes enviados -> 30 confirmados, 60 kbp/s, como houve 40 pacotes enviados -> 30 confirmados, 60 kbp/s, como houve

perda, 60k não é uma velocidade confiável, a taxa tem que ser perda, 60k não é uma velocidade confiável, a taxa tem que ser reduzida um pouco.reduzida um pouco.

► 30 pacotes enviados -> 30 confirmados, 45 kbp/s, a taxa de 45 30 pacotes enviados -> 30 confirmados, 45 kbp/s, a taxa de 45 kbp/s é confiável, o aumento da taxa de pacotes será cautelosa kbp/s é confiável, o aumento da taxa de pacotes será cautelosa acima dessa velocidade, o TCP definiu um limiar.acima dessa velocidade, o TCP definiu um limiar.

Page 12: Descobrir  motivos de Lentidão

Reação a lentidãoReação a lentidão►O protocolo TCP e a latência.O protocolo TCP e a latência.

TCP baseia a taxa de transmissão na perda de pacotes e TCP baseia a taxa de transmissão na perda de pacotes e não na latência, assim, links com latência alta mas com não na latência, assim, links com latência alta mas com largura de banda alta podem ser utilizados em 100%.largura de banda alta podem ser utilizados em 100%.

Exemplo: em um link satélite de 8 megabit/s com 600 ms Exemplo: em um link satélite de 8 megabit/s com 600 ms de latência mas sem perda de pacotes, uma conexão tcp de latência mas sem perda de pacotes, uma conexão tcp aumentará a taxa de transmissão até ocupar os 8 megas, aumentará a taxa de transmissão até ocupar os 8 megas, quando enviar ou receber acima disso, pacotes serão quando enviar ou receber acima disso, pacotes serão perdidos e o limiar de 8 megas será estabelecido.perdidos e o limiar de 8 megas será estabelecido.

Conclusão: em links com latência alta, temos downloads Conclusão: em links com latência alta, temos downloads com velocidades boas, mas ping alto e respostas com velocidades boas, mas ping alto e respostas demoradas ao solicitar sites. Voip impraticável.demoradas ao solicitar sites. Voip impraticável.

Page 13: Descobrir  motivos de Lentidão

Reação a lentidãoReação a lentidão►O protocolo UDP.O protocolo UDP.

UDP não depende de confirmação do último pacote para UDP não depende de confirmação do último pacote para enviar o próximo. Por isso:enviar o próximo. Por isso:►Não é capaz de calcular uma taxa segura de transferência.Não é capaz de calcular uma taxa segura de transferência.►Se um pacote for perdido, não será repetido pelo protocolo, Se um pacote for perdido, não será repetido pelo protocolo,

o aplicativo que injetou o pacote terá que tratar os o aplicativo que injetou o pacote terá que tratar os problemas de perda.problemas de perda.

►Se o aplicativo não repetir a transmissão um número de Se o aplicativo não repetir a transmissão um número de vezes suficiente para obter sucesso, o aplicativo irá falhar vezes suficiente para obter sucesso, o aplicativo irá falhar em sua tarefa.em sua tarefa.

DNS utiliza UDPDNS utiliza UDP►Perda de pacotes incapacitam o cliente a descobrir o ip do Perda de pacotes incapacitam o cliente a descobrir o ip do

site.site.►Sem o ip do servidor não há como buscar um site ou serviço.Sem o ip do servidor não há como buscar um site ou serviço.►Logo, perda de pacotes provocam erros de “A página Logo, perda de pacotes provocam erros de “A página

solicitada não pode ser exibida” e impressão de que não há solicitada não pode ser exibida” e impressão de que não há internet.internet.

Page 14: Descobrir  motivos de Lentidão

Processo de navegaçãoProcesso de navegação► Ao solicitar um site, os seguintes passos são Ao solicitar um site, os seguintes passos são

executados :executados : (1) UDP: Cliente solicita ip do site ao servidor DNS(1) UDP: Cliente solicita ip do site ao servidor DNS (2) UDP: Servidor DNS informa o ip do site ao cliente.(2) UDP: Servidor DNS informa o ip do site ao cliente. (3) TCP: Cliente envia pedido de conexão.(3) TCP: Cliente envia pedido de conexão. (4) TCP: Servidor confirma recebimento aceitando o (4) TCP: Servidor confirma recebimento aceitando o

pedido.pedido. (5) TCP: Cliente confirma recebimento.(5) TCP: Cliente confirma recebimento. (6) TCP/HTTP: Cliente solicita o endereço do site ao (6) TCP/HTTP: Cliente solicita o endereço do site ao

servidor.servidor. (7) TCP/HTTP: Servidor envia o HTML do site.(7) TCP/HTTP: Servidor envia o HTML do site.

Page 15: Descobrir  motivos de Lentidão

Processo de navegaçãoProcesso de navegação► Ilustração:Ilustração:

Cliente

Servidor DNS8.8.8.8

Servidor HTTP200.221.2.45

DNS: quem é www.uol.com.br?

DNS: www.uol.com.brestá em 200.221.2.45

TCP/Syn

TCP/Ack TCP/Syn+ACK

TCP/HTTP/Get

TCP/HTTP/200 OK(html do site)

Page 16: Descobrir  motivos de Lentidão

Processo de navegaçãoProcesso de navegação► Procurar lentidão no serviço de DNSProcurar lentidão no serviço de DNS

Analise de serviço DNS, verificar se está funcionandoAnalise de serviço DNS, verificar se está funcionando►Comando para teste: nslookup (Linux ou Windows)Comando para teste: nslookup (Linux ou Windows)►Sintaxe: nslookup NOME_DO_SITE IP_DO_SERVIDOR_DNSSintaxe: nslookup NOME_DO_SITE IP_DO_SERVIDOR_DNS►Exemplo (Linux ou Windows):Exemplo (Linux ou Windows):

# nslookup www.uol.com.br 8.8.8.8# nslookup www.uol.com.br 8.8.8.8

Analise de latência/perda para servidor DNS.Analise de latência/perda para servidor DNS.►Comando no Linux:Comando no Linux:

# time nslookup www.aol.com 8.8.8.8# time nslookup www.aol.com 8.8.8.8

Analise da latência usando ping (não é garantia de Analise da latência usando ping (não é garantia de resposta fiel, ping testa rede e não o serviço de resposta fiel, ping testa rede e não o serviço de DNS).DNS).

# ping 8.8.8.8# ping 8.8.8.8

Abrir site pelo IP, faz com o que DNS não seja Abrir site pelo IP, faz com o que DNS não seja utilizado:utilizado:

http://200.160.2.3http://200.160.2.3, , http://200.160.2.6http://200.160.2.6

Page 17: Descobrir  motivos de Lentidão

Processo de navegaçãoProcesso de navegação► Procurar lentidão no serviço HTTPProcurar lentidão no serviço HTTP

Testar sempre sem proxyTestar sempre sem proxy►O servidor proxy pode estar sobrecarregado ou com O servidor proxy pode estar sobrecarregado ou com

problemas locais, dando falsa impressão de internet lenta.problemas locais, dando falsa impressão de internet lenta.►O proxy pode dar respostas do cache, dando falsa impressão O proxy pode dar respostas do cache, dando falsa impressão

de navegação rápida.de navegação rápida.

Teste sem controle de banda (pode ser agressivo Teste sem controle de banda (pode ser agressivo demais).demais).

Abrir um site com poucos componentesAbrir um site com poucos componentes►Sites bons para teste: Sites bons para teste: www.registro.brwww.registro.br, , www.google.com.brwww.google.com.br►Sempre limpe o cache do navegador. Não use Internet Sempre limpe o cache do navegador. Não use Internet

Explorer.Explorer.►Teste em sites diferentes para eliminar possibilidade de ser Teste em sites diferentes para eliminar possibilidade de ser

problema no site e não no provedor.problema no site e não no provedor.►Teste em sites nacionais, sites internacionais sempre serão Teste em sites nacionais, sites internacionais sempre serão

mais lentos.mais lentos.►Exemplo de teste no Linux:Exemplo de teste no Linux:

# time wget www.registro.br# time wget www.registro.br

Page 18: Descobrir  motivos de Lentidão

Processo de navegaçãoProcesso de navegação► Procurar lentidão na redeProcurar lentidão na rede

TRACEROUTE e MTRTRACEROUTE e MTR►Comandos para monitorar via PING (ICMP) a latência de cada Comandos para monitorar via PING (ICMP) a latência de cada

segmento de rede entre o cliente e o servidor.segmento de rede entre o cliente e o servidor.►MTR (comando: mtr) permite monitorar o ping para todos os MTR (comando: mtr) permite monitorar o ping para todos os

roteadores no caminho em tempo real, exibe perdas e roteadores no caminho em tempo real, exibe perdas e estatísticas.estatísticas.

3D Traceroute: para windows, permite visualizar 3D Traceroute: para windows, permite visualizar graficamente latência dos roteadores no caminho.graficamente latência dos roteadores no caminho.

Page 19: Descobrir  motivos de Lentidão

Processo de navegaçãoProcesso de navegação► Procurar lentidão na redeProcurar lentidão na rede

Simplifique: se houver várias placas de redes no Simplifique: se houver várias placas de redes no computador de teste, desative todas e configure computador de teste, desative todas e configure apenas uma. Finalize todos os softwares em apenas uma. Finalize todos os softwares em execução.execução.

Se suspeitar de problemas no windows, utilize um Se suspeitar de problemas no windows, utilize um Linux LiveCD para comparar (Slax, Ubuntu, etc...)Linux LiveCD para comparar (Slax, Ubuntu, etc...)

Desconecte todos os usuários, se melhorar é porque Desconecte todos os usuários, se melhorar é porque pode haver uma sobrecarga em algum serviço ou pode haver uma sobrecarga em algum serviço ou segmento da rede.segmento da rede.►Teste segmento por segmento até localizar o ponto em que Teste segmento por segmento até localizar o ponto em que

o problema se manifesta.o problema se manifesta.

Não utilize rede wirelessNão utilize rede wireless►Ao analisar reclamações de lentidão, faça todos os testes Ao analisar reclamações de lentidão, faça todos os testes

por redes cabeadas, somente depois teste com wireless, por redes cabeadas, somente depois teste com wireless, assim se elimina problemas no wireless que possam dar assim se elimina problemas no wireless que possam dar falsa impressão de problemas na internet.falsa impressão de problemas na internet.

Page 20: Descobrir  motivos de Lentidão

Mais informações:Mais informações:

►TMSoft SoluçõesTMSoft Soluções www.tmsoft.com.brwww.tmsoft.com.br

Obrigado pela atenção!Patrick Brandão