Test del carico dell'app chat Python con RAG con Locust

Questo articolo fornisce il processo per eseguire test di carico in un'applicazione di chat Python usando il modello RAG con Locust, uno strumento di test di carico open source diffuso. L'obiettivo principale del test di carico è garantire che il carico previsto nell'applicazione di chat non superi la quota corrente di transazioni OpenAI di Azure al minuto (TPM). Simulando il comportamento dell'utente con carico elevato, è possibile identificare potenziali colli di bottiglia e problemi di scalabilità nell'applicazione. Questo processo è fondamentale per garantire che l'applicazione di chat rimanga reattiva e affidabile, anche in caso di un volume elevato di richieste utente.

Guardare il video dimostrativo per altre informazioni sul test di carico dell'app di chat.

Prerequisiti

Aprire l'app di esempio test di carico

Il test di carico si trova nel repository di app di chat Python. Per completare questi passaggi, è necessario tornare al contenitore di sviluppo.

Eseguire il test

  1. Installare le dipendenze per il test di carico.

    python3 -m pip install -r requirements-dev.txt
    
  2. Avviare Locust, che usa il file di test Locust: locustfile.py trovato nella radice del repository.

    locust
    
  3. Aprire il sito Web Locust in esecuzione, http://localhost:8089ad esempio .

  4. Immettere quanto segue nel sito Web Locust.

    Proprietà valore
    Numero di utenti 20
    Ramp up 1
    Host https://<YOUR-CHAT-APP-URL>.azurewebsites.net

    Screenshot del test Locust con i valori compilati.

  5. Selezionare Avvia Swarm per avviare il test.

  6. Selezionare Grafici per controllare lo stato di avanzamento del test.

    Screenshot del grafico Locust durante l'esecuzione del test.

Pulire le risorse

Al termine dei test di carico, pulire le risorse. Le risorse di Azure create in questo articolo vengono fatturate alla sottoscrizione di Azure. Se prevedi che queste risorse non ti servano in futuro, eliminale per evitare di incorrere in costi aggiuntivi. Dopo aver eliminato una risorsa specifica di questo articolo, ricordarsi di tornare all'altra esercitazione sull'app di chat e seguire i passaggi di pulizia.

Tornare all'articolo sull'app di chat per pulire tali risorse.

Come ottenere assistenza

Se si verificano problemi durante l'uso di questo tester di carico, registrare il problema in Problemi del repository.