使用RAG搭配Locust進行 Python 聊天應用程式的負載測試
本文提供使用RAG模式搭配Locust在 Python 聊天應用程式上執行負載測試的程式,這是熱門的開放原始碼負載測試工具。 負載測試的主要目標是確保聊天應用程式上預期的負載不會超過目前的 Azure OpenAI 交易每分鐘 (TPM) 配額。 藉由模擬負載過重的用戶行為,您可以找出應用程式的潛在瓶頸和延展性問題。 此程式對於確保您的聊天應用程式保持回應且可靠至關重要,即使遇到大量的使用者要求也一直如此。
觀看示範影片,以深入瞭解聊天應用程式的負載測試。
注意
本文使用一或多個 AI 應用程式範本 作為本文範例和指引的基礎。 AI 應用程式範本提供您妥善維護且易於部署的參考實作,以協助確保 AI 應用程式的高品質起點。
必要條件
Azure 訂閱。 免費建立一個
在所需的 Azure 訂用帳戶中授與 Azure OpenAI 的存取權。 目前只有應用程式會授予此服務的存取權。 您可以填妥 https://aka.ms/oai/access 的表單,以申請 Azure OpenAI 的存取權。
開發容器適用於這兩個範例,具有為完成發行項所需的所有相依性。 您可以在 GitHub Codespaces (瀏覽器中) 或使用 Visual Studio Code 在本機執行開發容器。
Python 聊天應用程式與RAG - 如果您將聊天應用程式設定為使用其中一個負載平衡解決方案,本文將協助您測試負載平衡。 負載平衡解決方案包括 Azure Container Apps。
開啟負載測試範例應用程式
負載測試是以 Locust 測試的形式出現在 Python 聊天應用程式解決方案中。 您必須返回該文章、部署解決方案,然後使用該開發容器開發環境來完成下列步驟。
執行測試
安裝負載測試的相依性。
python3 -m pip install -r requirements-dev.txt
啟動 Locust,它會使用 Locust 測試檔案: locustfile.py 位於存放庫根目錄。
locust
開啟執行中的 Locust 網站,例如
http://localhost:8089
。在 Locust 網站中輸入下列內容。
屬性 值 使用者人數 20 向上增加 1 Host https://<YOUR-CHAT-APP-URL>.azurewebsites.net
選取 [ 啟動 Swarm ] 以啟動測試。
選取 [ 圖表 ] 以監看測試進度。
清除資源
當您完成負載測試時,請清除資源。 在本文中建立的 Azure 資源會向您的 Azure 訂用帳戶計費。 如果您預計未來不需要這些資源,請將其刪除,以避免產生更多費用。 刪除本文專屬的資源之後,請記得返回其他聊天應用程式教學課程,並遵循清除步驟。
返回聊天應用程式文章以 清除 這些資源。
取得協助
如果您在使用此負載測試人員時遇到問題,請將問題記錄至存放 庫的問題。