Freigeben über


Erkennen langsamer Anwendungen

In diesem Leitfaden wird eine langsame Anwendung als Microsoft Windows-Anwendung mit eingeschränkter Leistung identifiziert. Eine langsame Anwendung zeigt ein oder mehrere der folgenden Symptome:

  • Cpu- und Netzwerkauslastung sind niedrig.

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

  • Das Deaktivieren des Nagle-Algorithmus durch die TCP_NODELAY Socketoption erhöht die Leistung.

    Dies weist auf andere Probleme hin und sollte nicht als Lösung betrachtet werden. Durch das Deaktivieren des Nagle-Algorithmus wird der Protokollaufwand erhöht. Verwenden Sie diese Methode nicht als Fix 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 Aufwand Ihrer 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 beste Overhead, der beim Streaming über Ethernet erwartet werden kann, beträgt ungefähr 6%. Bei einer Modemverbindung liegt der geringste Overhead etwa bei 2%, da eine PPP-Verbindung Kopfdatenkomprimierung verwendet. Weitere Informationen finden Sie unter Berechnen des Overheads mit netstat.

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

    Wenn sich die Anwendung nicht der Bandbreite der Verbindung nähert, sollte ein großer RTT nur wenig oder gar keine Auswirkung haben. Eine dramatische Verlangsamung mit einem hohen RTT ist ein deutliches Zeichen für serialisierte Verarbeitung und viele kleine Transaktionen.

Jede Anwendung sollte in einer Umgebung mit einem großen RTT getestet werden. Dadurch werden die meisten Anwendungen angezeigt, die unter schlechten Entwicklungsentscheidungen leiden. Diese Tests können in mehreren Umgebungen durchgeführt werden, einschließlich eines Drahtlos-LAN-Netzwerks, eines Verbindungsverzögerungssimulators oder eines Satellitennetzwerks.

Anwendungsverhalten

Leistungsstarke Windows Sockets-Anwendungen

Nagle-Algorithmus