Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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?
Um zusammenzufassen, möchten Benutzer, dass Anwendungen schnell und vorhersehbar sind.
Im Gegensatz dazu beurteilen Administratoren häufig die Leistung einer Anwendung darüber, wie effizient sie Netzwerkressourcen verwendet. Administratoren können Folgendes fragen:
- Verfügt die Anwendung über einen geringen Mehraufwand und eine effiziente Netzwerknutzung?
- Werden die mindeste Anzahl von Verbindungen verwendet, damit mein Server so viele Benutzer wie möglich gleichzeitig bedienen kann?
- Anrufe ich ständig helpdesk?
Kurz gesagt möchten Administratoren, 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 Clientserveranwendungen behandeln abbruchfreie Trennungen ordnungsgemäß. Initiieren Sie keinen potenziell langwierigen Vorgang, z. B. das Synchronisieren von Dateien oder Ordnern mit einem Server, die beim Herunterfahren nicht unterbrochen werden können. Netzwerke sind nicht konsistent reaktionsfähig, sodass selbst kleine Vorgänge zeitaufwändig sein könnten. Geben Sie positives Feedback für Benutzer, einschließlich Hinweise auf fortschritts- 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 Reaktion ist 500 Millisekunden. Benutzer nehmen an, dass länger als 500 Millisekunden als Leistungsverzögerung angehalten werden. Anwendungen sollten ausreichend reaktionsfähig sein, um dem Benutzer vertrauen zu können.
Ü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 Fehler ohne Benutzereingriff behandeln oder ignorieren, wenn Fehler nicht kritisch sind.
Eine Anwendung sollte eigene angemessene Timeouts definieren.
Eine Windows Sockets connect()-Anforderung kann z. B. unter bestimmten Bedingungen bis zu 21 Sekunden blockiert werden. Anwendungen müssen möglicherweise ihre eigenen Timeouts entsprechend ihren Benutzern einführen.
Minimieren Sie den Protokollaufwand.
Durch die Einsparung der Netzwerkbandbreite geht es teilweise darum, den von Ihrer Anwendung verursachten Protokollaufwand zu minimieren. Außerdem geht es darum, unnötigen Netzwerkdatenverkehr zu beseitigen. Protokolle mit einem geringeren Header-Overhead können zum Übertragen von Anwendungsdaten verwendet werden. Wenn Sie beispielsweise kleinere Mengen nicht kritischer oder wiederholbarer Daten senden, verwenden Sie UDP im Gegensatz zu TCP, um den Aufwand zu reduzieren, der mit der Verbindungseinrichtung und -wartung verbunden ist. Wenn dieselben Daten an mehrere Empfänger gesendet werden müssen, sollten Sie multicast in Betracht ziehen. Beachten Sie, dass UDP-Anwendungen nicht flussgesteuert sind – pushen über die verfügbare Bandbreite hinaus können zu katastrophalen Netzwerkfehlern führen. Das Netstat-Hilfsprogramm kann mit seinen -e und -s Optionen 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, bei denen einer den Zweck der Anwendung erfüllt.
Bei Transaktionsanwendungen sind eine gute Benutzererfahrung und eine geringe Netzwerkauslastung keine Konflikte. Das Netzwerk ist ein Engpass. Netzwerkintensive Anwendungen verbringen mehr Wartezeiten, und gut geschriebene Netzwerkanwendungen sind so konzipiert, dass unnötige Wartezeiten sowohl für die Benutzeroberfläche als auch für Netzwerkübertragungen minimiert werden.
Verwandte Themen