Rag と Locust を使用した Python チャット アプリの負荷テスト

この記事では、RAG パターンと Locust という、多くのユーザーを持つオープンソースの負荷テストツールを使用して、Python チャット アプリケーションの負荷テストを実行するプロセスを説明します。 負荷テストの主な目的は、チャット アプリケーションで予想される負荷が、現在の Azure OpenAI Transactions Per Minute (TPM) のクォータを超えるのを防ぐことです。 負荷の高いユーザーの動作をシミュレートすることで、アプリケーションのボトルネックとスケーラビリティの問題を予知できます。 このプロセスは、ユーザー要求の量が大幅に増えた場合でも、チャット アプリケーションの応答性と信頼性を維持するために重要です。

このチャット アプリの負荷テストの詳細について説明するデモ ビデオをご覧ください。

Note

この記事では、記事内の例とガイダンスの土台として、1 つ以上の AI アプリ テンプレートを使用しています。 AI アプリ テンプレートは、適切にメンテナンスされ、デプロイが容易なリファレンス実装を提供します。これは、高品質な AI アプリの作成を開始するために役立ちます。

前提条件

負荷テストサンプル アプリを開く

読み込みテストは、Python チャット アプリ ソリューションで、Locust テストとして使用されます。 その記事に戻り、ソリューションをデプロイしてから、その開発コンテナー開発環境を使用して以下のステップDeployment Environmentsを完了する必要があります。

テストの実行

  1. 負荷テストの依存関係をインストールします。

    python3 -m pip install -r requirements-dev.txt
    
  2. Locust を開始します。リポジトリのルートにある locustfile.py ファイルが使用されます。

    locust
    
  3. http://localhost:8089 など、実行中の Locust Web サイトを開きます。

  4. Locust の Web サイトに次を入力します。

    プロパティ
    ユーザーの数 20
    準備 1
    Host https://<YOUR-CHAT-APP-URL>.azurewebsites.net

    値が入力された Locust テストのスクリーンショット。

  5. Swarm を開始を選択してテストを開始します。

  6. テストの進行状況を確認するには、グラフを選択します。

    テストの実行中の、Locust グラフのスクリーンショット。

リソースをクリーンアップする

負荷テストが完了したら、リソースをクリーン アップします。 この記事で作成した Azure リソースは、Azure サブスクリプションに課金されます。 今後これらのリソースが必要になるとは思わない場合は、削除して、より多くの料金が発生しないようにします。 この記事のみで使用するリソースを削除した後、必ず他のチャット アプリ チュートリアルに戻り、クリーン アップの手順に従ってください。

チャットアプリの記事に戻り、それらのリソースをクリーンアップします。

ヘルプを取得

この負荷テスト機能の使用で問題が発生した場合は、リポジトリの問題にログを記録します。