Hochleistungs-Windows Sockets-Anwendungen

Microsoft Windows Netzwerkkomponenten wurden für Leistung und Skalierbarkeit entwickelt. Dadurch können Anwendungen die verfügbare Netzwerkbandbreite maximieren. Windows Sockets und der Windows TCP/IP-Protokollstapel wurden optimiert und optimiert. Daher können ordnungsgemäß geschriebene Windows Anwendungen außergewöhnliche Durchsatz und Leistung erzielen, wie die folgenden Fakten zeigen:

  • Windows ist in der Lage, über 200.000 gleichzeitige TCP-Verbindungen zu warten.
  • In einem Test, der von SPECWeb96 durchgeführt wurde, haben Internetinformationsserver auf Windows über 25.000 HTTP-Anforderungen pro Sekunde gewartet.
  • Windows einen Übertragungsdatensatz von über 750 Mbps auf einem Transcontinental-Gigabitnetzwerk festlegen, das aus 10 Hops besteht.

Diese Erfolge veranschaulichen, dass Windows TCP/IP Daten sehr schnell verarbeitet. Viele Anwendungen nutzen jedoch nicht die Windows, TCP/IP und Windows Sockets-Leistungsfunktionen, da sie leistungshindernde Techniken nicht implementieren.

In diesem Leitfaden lernen Sie, häufige Programmierfehler zu identifizieren und zu vermeiden. Anschließend lernen Sie Techniken kennen, die Windows Sockets-Anwendungen optimal ausführen können. Dieser Leitfaden wird in sechs Abschnitten vorgestellt. Die Reihenfolge der Abschnitte ist beabsichtigt; um die meisten dieser Anleitungen zu erhalten, lesen Sie sie in der Reihenfolge. In der folgenden Tabelle finden Sie Links zu jedem Abschnitt sowie eine kurze Beschreibung jedes Themas.

Thema Beschreibung
Netzwerkterminologie Definiert Netzwerkterminologie und Metriken, die erforderlich sind, um die Leistung einer Netzwerkanwendung zu verstehen.
Leistungsdimensionen Erläutert Leistungsdimensionen, die sich auf die wahrgenommene und tatsächliche Netzwerkleistung einer Anwendung auswirken.
TCP/IP-Merkmale Definiert TCP/IP-Protokolleigenschaften, die zu Leistungsproblemen für eine schlecht geschriebene Anwendung führen können.
Anwendungsverhalten Erläutert, wie Sie die Zeichen einer schlecht ausgeführten Netzwerkanwendung erkennen.
Verbessern einer langsamen Anwendung Stellt Beispiele für Anwendungsdesignprobleme bereit, die zu einer schlecht ausgeführten Anwendung beitragen und Änderungen an Code vornehmen, um die Leistung zu verbessern.
Bewährte Methoden für interaktive Anwendungen Enthält die bewährten Methoden für die Entwicklung optimaler interaktiver Netzwerkanwendungen.