Workloadoptimierung für TCP-Anforderungen und -Antworten

TCP-Anforderungs-und -Antwortworkloads sind Workloads, die einen bidirektionalen Informationsaustausch beinhalten.

Beispiele für Anforderungs-und Antwortworkloads sind RPC-Typen (RPC = Remote Procedure Call) von Anwendungen oder Client/Server-Anwendungen, z. B. Web-Browser-Anforderungen an einen Web-Server, NFS -Dateisysteme (die TCP als Transportprotokoll verwenden) oder das Sperrmanagementprotokoll einer Datenbank. Solche Anforderungen sind häufig kleine Nachrichten und größere Antworten, können aber auch große Anforderungen und eine kleine Antwort sein.

Der primäre Messwert, der für diese Workloads von Interesse ist, ist die Umlauflatenz des Netzes. Viele dieser Anforderungen oder Antworten verwenden kleine Nachrichten, sodass die Netzbandbreite keine wichtige Überlegung ist.

Hardware hat erhebliche Auswirkungen auf die Latenz. Der Typ des Netzes, der Typ und die Leistung von Netzswitches oder -routern, die Geschwindigkeit der Prozessoren, die in den einzelnen Knoten des Netzes verwendet werden, sowie die Adapter-und Buslatenzzeiten wirken sich auf die Umlaufzeit aus.

Optimierungsoptionen zur Bereitstellung der Mindestlatenzzeit (beste Antwort) verursachen in der Regel einen höheren CPU-Aufwand, da das System mehr Pakete sendet, mehr Interrupts erhält usw., um die Latenzzeit und die Antwortzeit zu minimieren. Dies sind klassische Leistungsabwägungen.

Die primären optimierbaren Parameter für Anforderungs-und Antwortanwendungen sind folgende:

  • tcp_nodelay oder tcp_nagle_limit
  • TCP-Nodelayack
  • Einstellungen für Adapterunterbrechungsverbindungen
Hinweis: Einige Anforderungs-/Antwortworkloads beziehen große Datenmengen in eine Richtung ein. Solche Workloads müssen je nach Workload möglicherweise für eine Kombination aus Streaming und Latenz optimiert werden.