1 / 20

Descobrir motivos de Lentidão

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.

ray
Download Presentation

Descobrir motivos de Lentidão

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Descobrir motivos deLentidão Por Patrick Brandão – TMSoft www.tmsoft.com.br

  2. Pré-requisitos Conhecimento básico de informática Laboratório com qualquer S.O. Windows Linux

  3. O que é lentidão num processo Lentidão é o resultado de latência alta ou perda do pacote, ou ambos. Latência: é a diferença de tempo entre o início de um evento e o momento em que seus efeitos tornam-se perceptíveis (Wikipédia). Alta: pizza demorou assar; pizza assou rápido mas motoboy demorou entregar; pizza assou rápido, motoboy entregou rápido, porteiro do condomínio demorou a permitir a entrada. Baixa: pizza assou rápido e motoboy entregou rápido. Perda do pacote: o pacote saiu da origem mas não chegou no destino. Pizza assou rápido, motoboy foi assaltado, outra pizza teve que ser encomendada Observe que toda perda de pacote aumenta o tempo do processo em no mínimo duas vezes, logo, onde há perda de pacote também há latência alta.

  4. Percepção mental de lentidão • Quando pedimos algo e temos que esperar além da expectativa, independente de latência ou perda. • Relativa: quando se opta por um fornecedor mais lento que o anterior. • Ex.: uma pizza na PizzaMais demora 16 minutos, hoje pedi na PizzaHut demorou 25 minutos. Eu achei ruim, mas os clientes da PizzaHut não acham ruim. • Viciante: quando se está acostumado com um tempo, qualquer evento que demore mais que a média será acusado de lento. • Ex.: nas últimas vezes que pedi uma pizza ela demorou menos 15 minutos, agora ela chegou em 23 minutos. • Problemática: quando algo demora ao ponto de se tornar irritante. • Ex.: uma pizza demorar 1 hora e 20 minutos para ser entregue.

  5. Principais motivos de lentidão • Link estreito • Sem dúvida, o principal causador de lentidão. • A largura de banda real é igual a largura de banda no ponto mais estreito de toda a rede. 100 Megas 25 Megas 2 Megas mas com Apenas 512k livres Troca de dados entre os computadores será menor ou igual a 512k

  6. Principais motivos de lentidão • Link com apenas um sentido estreito • Comum em links ADSL, que tem upstream ínfimo. • Embora haja banda livre para download, o upload saturado impede confirmação de pacotes e provoca perdas, levando o protocolo TCP a negociar baixas taxas de transferencia. Usuário fazendo Upload de filme para megaupload Limite de download: 2.048 k, usado: 10 k Internet ModemADSL Limite de upload: 256 k, usado: 256 k Usuário com dificuldades em fazer download pois TCP não consegue enviar confirmação para o site

  7. Principais motivos de lentidão • Link com perda de pacotes • O segundo maior causador de lentidão. • A perda de pacotes de uma rede é no mínimo igual a soma da perda de pacotes de todos os links no caminho. Cabo com 5% de perda (cabo ruim) Cabo com 7% de perda (conector ruim) Wi-fi com interferência 45% de perda Troca de dados entre os computadores sofrerá no mínimo 57% de perda de pacotes

  8. Principais motivos de lentidão • Agravamento em link com perda de pacotes • Provoca lentidão muito perceptível mesmo com pequenas porcentagens de perda. Analise o caso de um link que está com 50% de perda de pacotes: • A: o transmissor envia 10 pacotes. • B: apenas 5 são confirmados pelo receptor, o transmissor conclui que os outros 5 pacotes foram perdidos e terão que ser retransmitidos. (lembre-se: 50% de perda). • C: os 5 pacotes são retransmitidos. 2 não são confirmados. • D: os 2 pacotes são retransmitidos. 1 não é confirmado. • E: o último pacote é transmitido e confirmado. • Conclusão: precisamos de 5 tempos para enviar 10 pacotes numa rede com 50% de perda. A rede está 5x mais lenta. • Observe que não aplicamos a perda aos pacotes de confirmação (ACK) senão demoraria mais ainda a concluir o envio bem-sucedido dos 10 pacotes. Simule agora com 80% de perda.

  9. Principais motivos de lentidão • Latência da rede • Casada com a tecnologia da rede. • Satélite: entre 100 e 900 ms. • Fibra óptica e fast/giga ethernet: menor que 1 ms. • Wireless: entre 1 e 50 ms. Varia de acordo com distância, elementos físicos (transmissor, cabo, antena) e interferências. • A latência é inversamente proporcional a largura de banda livre, ou seja: • Muita banda livre = latência baixa (boa). • Pouca banda livre = latência alta (ruim).

  10. Principais motivos de lentidão • Latência da rede • A latência entre dois computadores é igual a soma da latência de todos os links no caminho entre eles. 1 ms 10 ms 50 ms Latência entre computadores será de 61 ms

  11. Reação a lentidão • O protocolo TCP e a perda de pacotes • TCP é confiável, quando um pacote transmitido não é confirmado ele será retransmitido. • Insistente mas não obstinado: se após inúmeras retransmissões ele não for confirmado, a conexão é finalizada (download cai, MSN cai, vídeo/música para de tocar, etc...). • Velocidade dinâmica (chamado de janela deslizante): a velocidade de transmissão será baseada nas estatísticas das confirmações do último envio, exemplo de conexão: • 10 pacotes enviados -> 10 confirmados, 15 kbp/s. • 20 pacotes enviados -> 20 confirmados, 30 kbp/s. • 40 pacotes enviados -> 30 confirmados, 60 kbp/s, como houve perda, 60k não é uma velocidade confiável, a taxa tem que ser reduzida um pouco. • 30 pacotes enviados -> 30 confirmados, 45 kbp/s, a taxa de 45 kbp/s é confiável, o aumento da taxa de pacotes será cautelosa acima dessa velocidade, o TCP definiu um limiar.

  12. Reação a lentidão • O protocolo TCP e a latência. • 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 largura de banda alta podem ser utilizados em 100%. • 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 aumentará a taxa de transmissão até ocupar os 8 megas, quando enviar ou receber acima disso, pacotes serão perdidos e o limiar de 8 megas será estabelecido. • Conclusão: em links com latência alta, temos downloads com velocidades boas, mas ping alto e respostas demoradas ao solicitar sites. Voip impraticável.

  13. Reação a lentidão • O protocolo UDP. • UDP não depende de confirmação do último pacote para enviar o próximo. Por isso: • Não é capaz de calcular uma taxa segura de transferência. • Se um pacote for perdido, não será repetido pelo protocolo, o aplicativo que injetou o pacote terá que tratar os problemas de perda. • Se o aplicativo não repetir a transmissão um número de vezes suficiente para obter sucesso, o aplicativo irá falhar em sua tarefa. • DNS utiliza UDP • Perda de pacotes incapacitam o cliente a descobrir o ip do site. • 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 solicitada não pode ser exibida” e impressão de que não há internet.

  14. Processo de navegação • Ao solicitar um site, os seguintes passos são executados : • (1) UDP: Cliente solicita ip do site ao servidor DNS • (2) UDP: Servidor DNS informa o ip do site ao cliente. • (3) TCP: Cliente envia pedido de conexão. • (4) TCP: Servidor confirma recebimento aceitando o pedido. • (5) TCP: Cliente confirma recebimento. • (6) TCP/HTTP: Cliente solicita o endereço do site ao servidor. • (7) TCP/HTTP: Servidor envia o HTML do site.

  15. Processo de navegação • Ilustração: DNS: quem é www.uol.com.br? DNS: www.uol.com.br está em 200.221.2.45 Servidor DNS 8.8.8.8 TCP/Syn Cliente TCP/Syn+ACK TCP/Ack TCP/HTTP/Get Servidor HTTP 200.221.2.45 TCP/HTTP/200 OK (html do site)

  16. Processo de navegação • Procurar lentidão no serviço de DNS • Analise de serviço DNS, verificar se está funcionando • Comando para teste: nslookup (Linux ou Windows) • Sintaxe: nslookup NOME_DO_SITE IP_DO_SERVIDOR_DNS • Exemplo (Linux ou Windows): • # nslookup www.uol.com.br 8.8.8.8 • Analise de latência/perda para servidor DNS. • Comando no Linux: • # time nslookup www.aol.com 8.8.8.8 • Analise da latência usando ping (não é garantia de resposta fiel, ping testa rede e não o serviço de DNS). • # ping 8.8.8.8 • Abrir site pelo IP, faz com o que DNS não seja utilizado: • http://200.160.2.3, http://200.160.2.6

  17. Processo de navegação • Procurar lentidão no serviço HTTP • Testar sempre sem proxy • O servidor proxy pode estar sobrecarregado ou com problemas locais, dando falsa impressão de internet lenta. • O proxy pode dar respostas do cache, dando falsa impressão de navegação rápida. • Teste sem controle de banda (pode ser agressivo demais). • Abrir um site com poucos componentes • Sites bons para teste: www.registro.br, www.google.com.br • Sempre limpe o cache do navegador. Não use Internet Explorer. • Teste em sites diferentes para eliminar possibilidade de ser problema no site e não no provedor. • Teste em sites nacionais, sites internacionais sempre serão mais lentos. • Exemplo de teste no Linux: • # time wget www.registro.br

  18. Processo de navegação • Procurar lentidão na rede • TRACEROUTE e MTR • Comandos para monitorar via PING (ICMP) a latência de cada segmento de rede entre o cliente e o servidor. • MTR (comando: mtr) permite monitorar o ping para todos os roteadores no caminho em tempo real, exibe perdas e estatísticas. • 3D Traceroute: para windows, permite visualizar graficamente latência dos roteadores no caminho.

  19. Processo de navegação • Procurar lentidão na rede • Simplifique: se houver várias placas de redes no computador de teste, desative todas e configure apenas uma. Finalize todos os softwares em execução. • Se suspeitar de problemas no windows, utilize um Linux LiveCD para comparar (Slax, Ubuntu, etc...) • Desconecte todos os usuários, se melhorar é porque pode haver uma sobrecarga em algum serviço ou segmento da rede. • Teste segmento por segmento até localizar o ponto em que o problema se manifesta. • Não utilize rede wireless • Ao analisar reclamações de lentidão, faça todos os testes por redes cabeadas, somente depois teste com wireless, assim se elimina problemas no wireless que possam dar falsa impressão de problemas na internet.

  20. Mais informações: • TMSoft Soluções • www.tmsoft.com.br Obrigado pela atenção! Patrick Brandão

More Related