Compartir a través de


Reconocimiento de aplicaciones lentas

En esta guía se identifica una aplicación lenta como una aplicación de Microsoft Windows con un rendimiento deficiente. Una aplicación lenta presenta uno o varios de los síntomas siguientes:

  • El uso de cpu y red es bajo.

    Parece que el equipo está esperando algo. A menudo, la aplicación está esperando en la red.

  • Desactivar el algoritmo de Nagle a través de la opción de socket TCP_NODELAY aumenta el rendimiento.

    Esto indica otros problemas y no se debe considerar una solución. Al desactivar el algoritmo de Nagle, aumenta la sobrecarga del protocolo. No use este método como corrección para las aplicaciones interrumpidas, solo como indicación de que la aplicación necesita otro trabajo para corregir problemas de rendimiento.

  • La aplicación presenta una sobrecarga elevada.

    Para calcular la sobrecarga de las aplicaciones, determine la cantidad de datos que pretende transferir en cada dirección. A continuación, use Netstat y agregue (para Ethernet) 60 bytes para cada paquete y 500 bytes para cada conexión. La mejor sobrecarga que se puede esperar para el streaming a través de Ethernet es aproximadamente del 6 %. Para una conexión de módem, la mejor sobrecarga es aproximadamente el 2 %, debido al hecho de que un vínculo PPP usa compresión de encabezado. Consulte Cálculo de la sobrecarga con Netstat para obtener más información.

  • La respuesta de la aplicación se ralentiza cuando la conexión tiene un RTT grande.

    Suponiendo que la aplicación no se aproxima al ancho de banda del vínculo, un RTT grande debe tener poco o ningún efecto. Una ralentización dramática con un RTT grande es un signo claro de procesamiento serializado y muchas transacciones pequeñas.

Cada aplicación debe probarse en un entorno con un RTT grande. Al hacerlo, se revela la mayoría de las aplicaciones que sufren de opciones de desarrollo deficientes. Esta prueba se puede realizar en varios entornos, incluida una red LAN inalámbrica, un simulador de retraso de vínculo o una red satélite.

Comportamiento de la aplicación

Aplicaciones de Windows Sockets de alto rendimiento

Algoritmo de Nagle