使用RAG搭配Locust進行 Python 聊天應用程式的負載測試
本文提供使用RAG模式搭配Locust在 Python 聊天應用程式上執行負載測試的程式,這是熱門的開放原始碼負載測試工具。 負載測試的主要目標是確保聊天應用程式上預期的負載不會超過目前的 Azure OpenAI 交易每分鐘 (TPM) 配額。 藉由模擬負載過重的用戶行為,您可以找出應用程式的潛在瓶頸和延展性問題。 此程式對於確保您的聊天應用程式保持回應且可靠至關重要,即使遇到大量的使用者要求也一直如此。
觀看示範影片,以深入瞭解聊天應用程式的負載測試。
必要條件
Azure 訂閱。 免費建立一個
在所需的 Azure 訂用帳戶中授與 Azure OpenAI 的存取權。 目前只有應用程式會授予此服務的存取權。 您可以填妥 https://aka.ms/oai/access 的表單,以申請 Azure OpenAI 的存取權。
開發容器 適用於這兩個範例,其中包含完成本文所需的所有相依性。 您可以在 GitHub Codespaces 中執行開發容器(在瀏覽器中),或使用 Visual Studio Code 在本機執行。
Python 聊天應用程式與RAG - 如果您將聊天應用程式設定為使用其中一個負載平衡解決方案,本文將協助您測試負載平衡。 負載平衡解決方案包括 Azure Container Apps。
開啟負載測試範例應用程式
負載測試位於 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 訂用帳戶計費。 如果您預計未來不需要這些資源,請將其刪除,以避免產生更多費用。 刪除本文專屬的資源之後,請記得返回其他聊天應用程式教學課程,並遵循清除步驟。
返回聊天應用程式文章以 清除 這些資源。
取得協助
如果您在使用此負載測試人員時遇到問題,請將問題記錄至存放 庫的問題。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應