Diese Anleitung beschreibt Best Practices zur Minimierung der Latenz und Maximierung des Durchsatzes bei der Nutzung des Infercom Inference Service.
Connection Pooling
Die wirkungsvollste Optimierung ist die Wiederverwendung Ihrer Client-Instanz über mehrere Anfragen hinweg. Dies ermöglicht HTTP-Connection-Pooling, das den TCP- und TLS-Handshake bei nachfolgenden Aufrufen überspringt.
Die Wiederverwendung Ihrer Client-Instanz kann den Netzwerk-Overhead bei aufeinanderfolgenden Anfragen um bis zu 50% reduzieren.
Funktionsweise
Wenn Sie für jede Anfrage einen neuen Client erstellen, muss jeder Aufruf eine neue TCP-Verbindung aufbauen und TLS aushandeln — das verursacht je nach Standort und Netzwerkbedingungen mehrere zehn Millisekunden zusätzlichen Overhead. Bei Wiederverwendung des Clients bleibt die bestehende Verbindung offen und nachfolgende Anfragen überspringen diesen Aufbau.
Empfohlenes Muster
Vermeiden Sie es, einen neuen Client in Schleifen oder Request-Handlern zu erstellen. Dies erzwingt einen neuen TCP+TLS-Handshake bei jedem Aufruf.
Sowohl das SambaNova SDK als auch das OpenAI SDK verwenden httpx unter der Haube, das automatisch einen Connection Pool verwaltet, wenn Sie den Client wiederverwenden. Der Standard-Pool hält bis zu 20 Keep-Alive-Verbindungen.
Jede API-Antwort enthält detaillierte Performance-Metriken im usage-Objekt. Nutzen Sie diese, um Ihre Anwendung zu messen und zu optimieren.
Verfügbare Metriken
Beispielantwort
Client- vs. Server-Latenz messen
Um zu verstehen, wie viel Zeit im Netzwerk vs. bei der Inferenz verbracht wird, vergleichen Sie Ihre clientseitige Gesamtzeit mit der serverseitig gemeldeten total_latency:
Ein typischer Netzwerk-Overhead innerhalb der EU beträgt 50–150ms, abhängig von Ihrer Nähe zum Rechenzentrum und ob Connection Pooling aktiv ist.
Streaming für interaktive Anwendungen
Für Chatbots und interaktive Anwendungsfälle liefert Streaming das erste Token schneller an den Benutzer und sorgt für ein reaktionsschnelleres Erlebnis.
Streaming reduziert nicht die gesamte Verarbeitungszeit, verbessert aber die wahrgenommene Latenz erheblich, da die Ausgabe während der Generierung geliefert wird.