Stellen Sie sich dieses Szenario vor, in dem Ihr Startup an Fahrt gewinnt. Die Benutzerzahl steigt plötzlich! Und steigt nun kontinuierlich von 10 Benutzern auf 100 Benutzer und nutzt Ihre Anwendung schon seit geraumer Zeit. Klicken Sie auf einige Schaltflächen, nutzen Sie einige Funktionen, stellen Sie eine Anfrage von Ihrem Backend-Server ...
Was Sie in einer solchen Situation nicht wollen würden, ist Unvorbereitetheit. Sie möchten sicherstellen, dass Ihre Anwendung zuverlässig und verfügbar für die Benutzer ist. Hier kommt das Testen ins Spiel, und worüber wir hier sprechen würden, ist eine spezielle Art von Tests, die zum Testen dieser Art von Szenarien geeignet ist: Lasttests.
In diesem Leitfaden konzentrieren wir uns auf die Verwendung von FastAPI und seiner automatisierten OpenAPI-Spezifikationsgenerierung, um den Prozess der Generierung von Postman-Sammlungen für Lasttests zu optimieren. Am Ende wissen Sie, wie Sie die OpenAPI-Spezifikation und Postman von FastAPI nutzen, um Ihre Anwendung im großen Maßstab zu testen.
FastAPI verfügt über integrierte OpenAPI-Unterstützung, die das Dokumentieren und Testen Ihrer APIs erleichtert. Durch die Kombination von FastAPI mit Postman können Sie:
Diese Synergie zwischen FastAPI und Postman ermöglicht es Entwicklern, schnell reale Verkehrsszenarien zu simulieren und Engpässe in ihren Anwendungen zu identifizieren.
Stellen Sie sicher, dass Ihre FastAPI-Anwendung lokal oder auf einem Server ausgeführt wird. Zum Beispiel:
from fastapi import FastAPI app = FastAPI() @app.get("/items/{item_id}") def read_item(item_id: int, q: str = None): return {"item_id": item_id, "q": q} if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000)
Wenn der Server startet, ist der OpenAPI-JSON-Endpunkt unter http://127.0.0.1:8000/openapi.json verfügbar.
Öffnen Sie Ihren Browser und navigieren Sie zu http://127.0.0.1:8000/openapi.json, um sicherzustellen, dass auf OpenAPI JSON zugegriffen werden kann.
Sie können die OpenAPI-JSON-Datei entweder lokal mit Ihrem Browser oder per Curl:
speichern
curl -o openapi.json http://127.0.0.1:8000/openapi.json
Oder einfach durch Kopieren der OpenAPI-Endpunkt-URL, http://127.0.0.1:8000/openapi.json.
Wenn Sie gerade die Endpunkt-URL kopiert haben, können Sie die URL einfach in die Eingabeleiste oben im Modal einfügen, das angezeigt wird, wenn Sie auf Importieren
klickenÜberprüfen Sie die importierte Sammlung, um sicherzustellen, dass alle Endpunkte korrekt konfiguriert sind. Sie können bei Bedarf auch Umgebungsvariablen oder Skripte für die Authentifizierung oder Datenverwaltung hinzufügen.
Um reale Szenarien zu simulieren, ändern Sie Ihre Anforderungen so, dass sie dynamische Daten enthalten. Verwenden Sie beispielsweise die integrierten Variablen oder Pre-Request-Skripte von Postman:
Beispiel für ein Pre-Request-Skript:
from fastapi import FastAPI app = FastAPI() @app.get("/items/{item_id}") def read_item(item_id: int, q: str = None): return {"item_id": item_id, "q": q} if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000)
Beispielnutzlast:
curl -o openapi.json http://127.0.0.1:8000/openapi.json
Sie können auch einfach integrierte Skripte wie $randomInt verwenden, um Zufallswerte zu generieren.
Beispielhafter Anwendungsfall für die Verwendung integrierter Skripte:
pm.variables.set("random_id", Math.floor(Math.random() * 10000));
Dieses integrierte Skript gibt bei jeder gestellten Anfrage Zufallswerte zwischen 0 und 1000 zurück.
Verwenden Sie Sammlungsvariablen in Postman, um API-Basis-URLs, Authentifizierungstokens oder dynamische Parameter ohne Ihre Sammlung zu verwalten. Dies vereinfacht Aktualisierungen und Tests in Ihrer gesamten Sammlung.
Postman verfügt jetzt über integrierte Leistungstestfunktionen, mit denen Sie den Benutzerverkehr simulieren und die Leistung Ihrer API bewerten können.
Klicken Sie auf „Ausführen“, um den Leistungstest zu starten. Postman zeigt Echtzeit-Leistungsmetriken wie durchschnittliche Antwortzeit, Fehlerrate und Durchsatz an.
Nach Abschluss des Tests analysieren Sie die Ergebnisse, um Leistungsengpässe zu identifizieren:
Postman bietet detaillierte Metriken und ermöglicht Ihnen den Vergleich mehrerer Testläufe, um Leistungsänderungen im Laufe der Zeit zu verfolgen.
Durch die Nutzung der OpenAPI-Spezifikation von FastAPI und der Leistungstestfunktionen von Postman können Sie den Benutzerverkehr effektiv simulieren und potenzielle Leistungsprobleme identifizieren. Mit diesem Ansatz können Sie sicherstellen, dass Ihre FastAPI-Anwendung unter wechselnden Lastbedingungen robust und reaktionsfähig bleibt.
Viel Spaß beim Testen!
Das obige ist der detaillierte Inhalt vonLasttests mit FastAPI und Postman: Umfassender Leitfaden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!