Reconhecendo aplicativos lentos

Este guia identifica um aplicativo lento como um aplicativo do Microsoft Windows com desempenho prejudicado. Um aplicativo lento exibe um ou mais dos seguintes sintomas:

  • A utilização da CPU e da rede é baixa.

    O computador parece estar esperando por algo. Geralmente, o aplicativo está aguardando na rede.

  • Desativar o Algoritmo Nagle por meio da opção de soquete TCP_NODELAY aumenta o desempenho.

    Isso indica outros problemas e não deve ser considerado uma solução. Desativar o algoritmo Nagle aumenta a sobrecarga do protocolo. Não use esse método como uma correção para os aplicativos quebrados, apenas como uma indicação de que o aplicativo precisa de outro trabalho para corrigir problemas de desempenho.

  • O aplicativo exibe alta sobrecarga.

    Para calcular a sobrecarga de seus aplicativos, determine quantos dados você pretendia transferir em cada direção. Em seguida, use Netstat e adicione (para Ethernet) 60 bytes para cada pacote e 500 bytes para cada conexão. A melhor sobrecarga esperada para streaming pela Ethernet é de aproximadamente 6%. Para uma conexão de modem, a melhor sobrecarga é de aproximadamente 2%, devido ao fato de que um link PPP usa compactação de cabeçalho. Consulte Calculando a sobrecarga com o Netstat para obter mais informações.

  • A resposta do aplicativo diminui quando a conexão tem um RTT grande.

    Supondo que o aplicativo não esteja se aproximando da largura de banda do link, um RTT grande deve ter pouco ou nenhum efeito. Uma desaceleração dramática com um RTT grande é um sinal claro de processamento serializado e muitas transações pequenas.

Cada aplicativo deve ser testado em um ambiente com um RTT grande. Isso revela a maioria dos aplicativos que sofrem de escolhas de desenvolvimento ruins. Esse teste pode ser executado em vários ambientes, incluindo uma rede LAN sem fio, um simulador de atraso de link ou uma rede satélite.

Comportamento do aplicativo

Aplicativos windows sockets de alto desempenho

Algoritmo Nagle