Freigeben über


Leistungsanforderungen: Benutzer und Administratoren

Benutzer beurteilen die Anwendungsleistung anhand ihrer Erfahrung:

  • Reagiert die Anwendung schnell?
  • Wird ein Sanduhrsymbol angezeigt, während Hintergrundvorgänge ausgeführt werden?
  • Wird die Anwendung schnell gestartet und geschlossen?
  • Werden Fehler verständlich behandelt?

Zusammenfassend möchten Die Benutzer möchten, dass Anwendungen schnell und vorhersagbar sind.

Im Gegensatz dazu beurteilen Administratoren häufig die Leistung einer Anwendung anhand der Effizienz der Netzwerkressourcen. Administratoren können Folgendes fragen:

  • Hat die Anwendung einen geringen Mehraufwand und eine effiziente Netzwerknutzung?
  • Wird die Mindestanzahl von Verbindungen verwendet, damit mein Server so viele Benutzer wie möglich gleichzeitig bedienen kann?
  • Rufe ich ständig das Helpdesk an?

Kurz gesagt: Administratoren möchten, dass Anwendungen skaliert werden.

Bewährte Methoden für Leistungsanforderungen

Bei der Entwicklung einer Windows Sockets-Anwendung werden diese Leistungsanforderungen in nützliche Regeln übersetzt.

  • Lassen Sie Netzwerkanwendungen schnell initialisieren.

    Die Benutzeroberfläche sollte nicht auf Netzwerkantworten warten müssen. Einige Aufgaben können ausgeführt werden, bevor das Netzwerk verfügbar ist oder ohne das Netzwerk. Wenn das Netzwerk nicht reagiert, benötigt der Benutzer möglicherweise die Benutzeroberfläche für einfache Vorgänge, z. B. das Schließen der Anwendung.

  • Warten Sie nicht auf das Herunterfahren des Netzwerks.

    Ordnungsgemäß geschriebene Client-Server-Anwendungen behandeln abgebrochene Trennungen ordnungsgemäß. Initiieren Sie keinen potenziell langwierigen Vorgang, z. B. das Synchronisieren von Dateien oder Ordnern mit einem Server, der beim Herunterfahren nicht unterbrochen werden kann. Netzwerke sind nicht konsistent reaktionsfähig, sodass sich auch kleine Vorgänge als zeitaufwändig erweisen können. Geben Sie Benutzern positives Feedback, einschließlich Hinweisen auf den Fortschritt und geschätzte Abschlusszeiten.

  • Stellen Sie eine reaktionsfähige Benutzeroberfläche sicher.

    Die Reaktionsfähigkeit der Anwendung trägt dazu bei, unnötige Helpdeskanrufe zu vermeiden. Eine gute Richtlinie für interaktive Antworten sind 500 Millisekunden. Benutzer sehen Pausen, die länger als 500 Millisekunden sind, als Leistungsverzögerung. Anwendungen sollten ausreichend reaktionsfähig sein, um dem Benutzer Vertrauen in die Anwendung zu bieten.

  • Überprüfen sie Netzwerkfehler.

    Nicht alle Netzwerkfehler sind kritisch. Beispielsweise kann eine Anwendung, die alle daten empfangen oder gepostet hat, fehler beim Schließen der Verbindung ignorieren. Gehen Sie nicht davon aus, dass das Netzwerk oder der Benutzer verfügbar ist. Entweder behandeln Sie Fehler ohne Benutzereingriff, oder ignorieren Sie sie, wenn Fehler nicht kritisch sind.

  • Eine Anwendung sollte ihre eigenen angemessenen Timeouts definieren.

    Beispielsweise kann eine Connect()-Anforderung von Windows Sockets unter bestimmten Bedingungen für bis zu 21 Sekunden blockiert werden. Anwendungen müssen möglicherweise eigene Timeouts einführen, die für ihre Benutzer geeignet sind.

  • Minimieren Sie den Protokollaufwand.

    Bei der Einsparung von Netzwerkbandbreite geht es teilweise um die Minimierung des Protokollaufwands, der für Ihre Anwendung entsteht. Es geht auch darum, unnötigen Netzwerkdatenverkehr zu vermeiden. Protokolle mit einem geringeren Header-Overhead können zum Übertragen von Anwendungsdaten verwendet werden. Wenn Sie z. B. kleinere Mengen nicht kritischer oder wiederholbarer Daten senden, verwenden Sie UDP anstelle von TCP, um den Aufwand für verbindungsaufbau und -wartung zu reduzieren. Wenn dieselben Daten an mehrere Empfänger gesendet werden müssen, sollten Sie Multicast in Betracht ziehen. Beachten Sie, dass UDP-Anwendungen nicht über den Fluss gesteuert werden. Pushvorgänge, die über die verfügbare Bandbreite hinausgehen, können zu schwerwiegenden Netzwerkfehlern führen. Das Hilfsprogramm Netstat kann mit den Optionen -e und -s verwendet werden, um Statistiken für verschiedene Protokolle anzuzeigen.

  • Sparen Sie Systemressourcen.

    Systemressourcen können schnell verbraucht werden, wenn die richtige Zurückhaltung nicht verwendet wird. Beispielsweise verbrauchen Sockets und TCP-Verbindungen Ressourcen. Verwenden Sie nicht mehrere TCP-Verbindungen pro Client, wobei eine dem Zweck der Anwendung dient.

Bei Transaktionsanwendungen stehen eine gute Benutzererfahrung und eine geringe Netzwerkauslastung nicht im Widerspruch zu den Zielen. Das Netzwerk ist ein Engpass. Netzwerkintensive Anwendungen verbringen mehr Zeit mit Wartezeiten, und gut geschriebene Netzwerkanwendungen sind darauf ausgelegt, unnötige Wartezeiten sowohl für die Benutzeroberfläche als auch für Netzwerkübertragungen zu minimieren.

Leistungsstarke Windows Sockets-Anwendungen

Leistungsdimensionen