Freigeben über


Erkennen von langsamen Anwendungen

In diesem Leitfaden wird eine langsame Anwendung als Microsoft Windows-Anwendung mit beeinträchtigter Leistung identifiziert. Eine langsame Anwendung weist eines oder mehrere der folgenden Symptome auf:

  • DIE CPU- und Netzwerkauslastung ist gering.

    Der Computer scheint auf etwas zu warten. Häufig wartet die Anwendung im Netzwerk.

  • Das Deaktivieren des Nagle-Algorithmus über die Option TCP_NODELAY Sockets erhöht die Leistung.

    Dies weist auf andere Probleme hin und sollte nicht als Lösung angesehen werden. Das Deaktivieren des Nagle-Algorithmus erhöht den Protokollaufwand. Verwenden Sie diese Methode nicht als Korrektur für die fehlerhaften Anwendungen, nur als Hinweis, dass die Anwendung andere Aufgaben benötigt, um Leistungsprobleme zu beheben.

  • Die Anwendung weist einen hohen Mehraufwand auf.

    Um den Mehraufwand für Ihre Anwendungen zu berechnen, bestimmen Sie, wie viele Daten Sie in jede Richtung übertragen möchten. Verwenden Sie dann Netstat, und fügen Sie (für Ethernet) 60 Bytes für jedes Paket und 500 Bytes für jede Verbindung hinzu. Der höchste Aufwand, der für streaming über Ethernet erwartet werden kann, beträgt etwa 6 %. Bei einer Modemverbindung beträgt der beste Mehraufwand ungefähr 2 %, da ein PPP-Link die Headerkomprimierung verwendet. Weitere Informationen finden Sie unter Berechnen des Mehraufwands mit Netstat .

  • Die Anwendungsantwort verlangsamt sich, wenn die Verbindung über eine große RTT verfügt.

    Vorausgesetzt, die Anwendung nähert sich nicht der Bandbreite der Verbindung, sollte ein großer RTT nur wenig oder gar keine Auswirkungen haben. Eine dramatische Verlangsamung mit einer großen RTT ist ein klares Zeichen für die serialisierte Verarbeitung und viele kleine Transaktionen.

Jede Anwendung sollte in einer Umgebung mit einem großen RTT getestet werden. Dies zeigt die meisten Anwendungen, die unter schlechten Entwicklungsentscheidungen leiden. Diese Tests können in mehreren Umgebungen durchgeführt werden, z. B. in einem WLAN-Netzwerk, in einem Simulator für Verbindungsverzögerung oder in einem Satellitennetzwerk.

Anwendungsverhalten

Leistungsstarke Windows Sockets-Anwendungen

Nagle-Algorithmus