Verbindungen während der Lebensdauer bündeln
Verwenden Sie DB- und HTTP-Clients für mehrere Anfragen wieder.
Verbindungen während der Lebensdauer bündeln ist eine kostenlose MCP Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des MCP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der MCP Academy-Kurs umfasst insgesamt 4 Lektionen.
Verbindungsaufbau kostet Zeit
Bei jedem Aufruf eine neue Datenbank- oder HTTP-Verbindung zu öffnen, ist langsam. Der Verbindungsaufbau erzeugt Latenz, die sich unter Last schnell summiert. 🐢
Mit einem Pool wiederverwenden
Ein Verbindungs-Pool hält eine Gruppe aktiver Verbindungen bereit, leiht für jede Anfrage eine aus und nimmt sie nach Abschluss der Arbeit zurück.
Den Pool beim Start erstellen
Der lifespan-Hook ist dafür ideal: Er erstellt den Pool einmal beim Start des Servers, bevor ein Tool ausgeführt wird.
@asynccontextmanager
async def lifespan(server):
pool = await create_pool(DSN)
yield {"pool": pool}Als gemeinsamen Zustand bereitstellen
Alles, was Sie aus dem lifespan mit yield bereitstellen, wird zu einem gemeinsamen Kontext. So greift jeder Handler auf denselben Pool zu, ohne ihn neu aufzubauen.
Über den Kontext darauf zugreifen
Holen Sie den Pool innerhalb eines Tools aus dem Kontext der Anfrage, statt jedes Mal eine eigene Verbindung zu öffnen.
pool = ctx.request_context.lifespan_context["pool"]Ausleihen, verwenden, zurückgeben
Fordern Sie eine Verbindung aus dem Pool an, führen Sie Ihre Abfrage aus und lassen Sie sie automatisch zurückgeben. Der with-Block übernimmt Ausleihe und Freigabe.
async with pool.acquire() as conn:
rows = await conn.fetch(sql)Die Poolgröße begrenzen
Setzen Sie eine Maximalgröße, damit der Pool nie mehr Verbindungen öffnet, als Ihre Datenbank verarbeiten kann – selbst wenn viele Aufrufe gleichzeitig eintreffen.
pool = await create_pool(DSN, max_size=10)Auch einen HTTP-Client gemeinsam nutzen
Dasselbe Prinzip gilt für HTTP: Erstellen Sie einen httpx-Client im lifespan und verwenden Sie ihn wieder, damit Verbindungen aktiv und gebündelt bleiben.
client = httpx.AsyncClient()
yield {"http": client}Pools sind threadsicher
Ein guter asynchroner Pool ist für Parallelität ausgelegt und verteilt sicher Verbindungen an viele gleichzeitig laufende Anfragen.
Auf Leaks achten
Geben Sie immer zurück, was Sie ausleihen. Eine Verbindung, deren Rückgabe Sie vergessen, ist ein Leak, das den Pool langsam erschöpft, bis Aufrufe ins Stocken geraten.
Beim Herunterfahren schließen
Schließen Sie den Pool nach dem yield des lifespan, damit die Verbindungen sauber beendet werden, wenn der Server stoppt.
yield {"pool": pool}
await pool.close()Kurzer Check
Wo erstellen Sie einen Verbindungspool?
Rückblick: Pooling
Sie haben Verbindungen im lifespan gebündelt: einmal erstellen, über den Kontext teilen, pro Aufruf ausleihen und beim Herunterfahren schließen. Als Nächstes kommen Caching und Ratenbegrenzung. 🎯
Lerne Python mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 30
- Lektionen
- 120
Häufig gestellte Fragen
Ist die Lektion „Verbindungen während der Lebensdauer bündeln“ kostenlos?
Ja — der vollständige Text von „Verbindungen während der Lebensdauer bündeln“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des MCP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der MCP Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Verbindungen während der Lebensdauer bündeln“?
Verwenden Sie DB- und HTTP-Clients für mehrere Anfragen wieder. Du übst MCP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um MCP Academy zu starten?
Keine Vorkenntnisse erforderlich. MCP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Verbindungen während der Lebensdauer bündeln“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser MCP Academy-Lektion Code schreiben und ausführen?
Ja. Jede MCP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- SQL-Abfragen sicher bereitstellen
- Eine REST-API als Tools verpacken
- Verbindungen während der Lebensdauer bündeln
- Upstreams zwischenspeichern und begrenzen