Testowanie obciążenia aplikacji czatu w języku Python przy użyciu programu RAG z locust
Ten artykuł zawiera proces przeprowadzania testów obciążeniowych w aplikacji czatu w języku Python przy użyciu wzorca RAG z Locust, popularnego narzędzia do testowania obciążenia typu open source. Głównym celem testowania obciążenia jest upewnienie się, że oczekiwane obciążenie aplikacji czatu nie przekracza bieżącego limitu przydziału transakcji usługi Azure OpenAI na minutę (TPM). Symulując zachowanie użytkownika pod dużym obciążeniem, można zidentyfikować potencjalne wąskie gardła i problemy ze skalowalnością w aplikacji. Ten proces ma kluczowe znaczenie dla zapewnienia, że aplikacja czatu pozostaje elastyczna i niezawodna, nawet w przypadku dużej liczby żądań użytkowników.
Obejrzyj pokazowy film wideo, aby dowiedzieć się więcej na temat testowania obciążenia aplikacji do czatu.
Uwaga
W tym artykule użyto co najmniej jednego szablonu aplikacji sztucznej inteligencji jako podstawy przykładów i wskazówek w artykule. Szablony aplikacji sztucznej inteligencji zapewniają dobrze utrzymywane, łatwe w wdrażaniu implementacje referencyjne, które pomagają zapewnić wysokiej jakości punkt wyjścia dla aplikacji sztucznej inteligencji.
Wymagania wstępne
Subskrypcja platformy Azure. Utwórz bezpłatnie
Dostęp jest udzielany usłudze Azure OpenAI w żądanej subskrypcji platformy Azure. Obecnie dostęp do tej usługi jest udzielany tylko przez aplikację. Możesz ubiegać się o dostęp do usługi Azure OpenAI, wypełniając formularz pod adresem https://aka.ms/oai/access.
Kontenery deweloperskie są dostępne dla obu przykładów z wszystkimi zależnościami wymaganymi do ukończenia tego artykułu. Kontenery deweloperskie można uruchamiać w usłudze GitHub Codespaces (w przeglądarce) lub lokalnie przy użyciu programu Visual Studio Code.
Aplikacja do czatu w języku Python z aplikacją RAG — jeśli aplikacja czatu została skonfigurowana do korzystania z jednego z rozwiązań równoważenia obciążenia, ten artykuł pomoże Ci przetestować równoważenie obciążenia. Rozwiązania do równoważenia obciążenia obejmują usługę Azure Container Apps.
Otwórz przykładową aplikację testu obciążeniowego
Test obciążeniowy jest w rozwiązaniu aplikacji do czatu w języku Python jako test locust. Aby wykonać następujące kroki, musisz wrócić do tego artykułu, wdrożyć rozwiązanie, a następnie użyć tego środowiska deweloperskiego kontenera deweloperskiego.
Uruchamianie testu
Zainstaluj zależności dla testu obciążeniowego.
python3 -m pip install -r requirements-dev.txt
Uruchom locust, który używa pliku testowego Locust: locustfile.py znaleziony w katalogu głównym repozytorium.
locust
Otwórz działającą witrynę sieci Web Locust, taką jak
http://localhost:8089
.Wprowadź następujące informacje w witrynie sieci Web Locust.
Właściwości Wartość Liczba użytkowników 20 Zwiększ w górę 1 Gospodarz https://<YOUR-CHAT-APP-URL>.azurewebsites.net
Wybierz pozycję Uruchom Swarm , aby rozpocząć test.
Wybierz pozycję Wykresy , aby obejrzeć postęp testu.
Czyszczenie zasobów
Po zakończeniu testowania obciążenia wyczyść zasoby. Zasoby platformy Azure utworzone w tym artykule są rozliczane z subskrypcją platformy Azure. Jeśli nie spodziewasz się, że te zasoby będą potrzebne w przyszłości, usuń je, aby uniknąć naliczania dodatkowych opłat. Po usunięciu zasobu specyficznego dla tego artykułu pamiętaj o powrocie do innego samouczka aplikacji do czatu i wykonaniu kroków czyszczenia.
Wróć do artykułu aplikacji czatu, aby wyczyścić te zasoby.
Uzyskaj pomoc
Jeśli masz problemy z używaniem tego testera obciążenia, zarejestruj problem w problemach repozytorium.