あなたのスタートアップが勢いを持ち始めるこのシナリオを想像してみてください。ユーザー数が一気に増加!そして今ではユーザー数が 10 人から 100 人に継続的に増加し、かなり長い間アプリケーションを使用しています。いくつかのボタンをクリックし、いくつかの機能を使用し、バックエンド サーバーからリクエストを送信します...
このような状況で望ましくないのは、準備ができていないことです。アプリケーションがユーザーにとって信頼性と利用可能であることを確認したいと考えています。ここでテストが登場します。ここで説明するのは、この種のシナリオのテストに適した特定のタイプのテスト、負荷テストです。
このガイドでは、FastAPI とその自動化された OpenAPI 仕様生成を使用して、負荷テスト用の Postman コレクションを生成するプロセスを合理化することに焦点を当てます。最後には、FastAPI の OpenAPI 仕様と Postman を利用してアプリケーションを大規模にテストする方法がわかるようになります。
FastAPI には OpenAPI サポートが組み込まれているため、API の文書化とテストが簡単になります。 FastAPI と Postman を組み合わせることで、次のことが可能になります。
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)
1.2 OpenAPI JSON の検証
curl -o openapi.json http://127.0.0.1:8000/openapi.json
エンドポイント URL をコピーしたばかりの場合は、インポート
をクリックしたときに表示されるモーダルの上部にある入力バーに URL を貼り付けることができます。インポートされたコレクションを確認して、すべてのエンドポイントが正しく構成されていることを確認します。認証やデータ管理に必要な環境変数やスクリプトを追加することもできます。
現実世界のシナリオをシミュレートするには、リクエストを変更して動的データを含めます。たとえば、Postman の組み込み変数または事前リクエスト スクリプトを使用します。
事前リクエスト スクリプトの例:
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)
ペイロードの例:
curl -o openapi.json http://127.0.0.1:8000/openapi.json
$randomInt などの組み込みスクリプトを利用してランダムな値を生成することもできます。
組み込みスクリプトを使用する使用例:
pm.variables.set("random_id", Math.floor(Math.random() * 10000));
この組み込みスクリプトは、リクエストが行われるたびに 0 ~ 1000 のランダムな値を返します。
Postman のコレクション変数を使用して、コレクションを使用せずに API ベース URL、認証トークン、または動的パラメーターを管理します。これにより、コレクション全体の更新とテストが簡素化されます。
Postman には、ユーザー トラフィックをシミュレートし、API のパフォーマンスを評価できる組み込みのパフォーマンス テスト機能が含まれるようになりました。
「実行」をクリックしてパフォーマンス テストを開始します。 Postman は、平均応答時間、エラー率、スループットなどのリアルタイムのパフォーマンス指標を表示します。
テストが完了したら、結果を分析してパフォーマンスのボトルネックを特定します。
Postman は詳細なメトリクスを提供し、複数のテスト実行を比較して、時間の経過に伴うパフォーマンスの変化を追跡できます。
FastAPI の OpenAPI 仕様と Postman のパフォーマンス テスト機能を活用することで、ユーザー トラフィックを効果的にシミュレートし、潜在的なパフォーマンスの問題を特定できます。このアプローチにより、さまざまな負荷条件下でも FastAPI アプリケーションの堅牢性と応答性を確保できます。
テストをお楽しみください!
以上がFastAPI と Postman を使用した負荷テスト: 総合ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。