Поделиться через


Нагрузочное тестирование приложения чата Python с помощью RAG с Locust

В этой статье описывается процесс выполнения нагрузочного тестирования чат-приложения на Python, применяющий шаблон Retrieval Augmented Generation (RAG), с использованием Locust, популярного средства нагрузочного тестирования с открытым исходным кодом. Основная цель нагрузочного тестирования — убедиться, что ожидаемая нагрузка на ваше чат-приложение не превышает текущую квоту в транзакции в минуту (TPM) Azure OpenAI Service. Имитируя поведение пользователя в условиях тяжелой нагрузки, вы можете определить потенциальные узкие места и проблемы масштабируемости в приложении. Этот процесс имеет решающее значение для обеспечения того, чтобы ваше приложение чата оставалось адаптивным и надежным, даже при использовании большого объема запросов пользователей.

Замечание

В этой статье в качестве основы для примеров и рекомендаций используются один или несколько шаблонов приложений ИИ. Шаблоны приложений искусственного интеллекта предоставляют вам хорошо поддерживаемые эталонные реализации, которые легко развертываться. Они помогают обеспечить высококачественную отправную точку для приложений ИИ.

Предпосылки

Откройте демонстрационное приложение для нагрузочного тестирования

Нагрузочный тест находится в приложении чата на Python в виде теста Locust. Вернитесь к этой статье, разверните решение, а затем используйте среду разработки контейнеров для выполнения следующих действий.

Запуск теста

  1. Установите пакет Locust, который используется для имитации одновременных пользователей и создания нагрузки для приложения чата:

    python -m pip install locust
    
  2. Запустите Locust, который использует файл теста Locust locustfile.py. Его можно найти в корне репозитория. В примере есть ChatUser класс, который имитирует пользователя, задающего вопросы и получая ответы от приложения чата.

    locust ChatUser
    
  3. После успешного запуска Locust запускается локальный веб-интерфейс, который используется для настройки и мониторинга нагрузочного теста. Откройте запущенный веб-сайт Locust, например http://localhost:8089.

  4. Введите следующие значения на веб-сайте Locust.

    Недвижимость Ценность
    Число пользователей 20
    Наращивайте 1
    Хозяин https://<YOUR-CHAT-APP-URL>.azurewebsites.net (базовый URL-адрес развернутого приложения чата)

    Снимок экрана: тест Locust с заполненными значениями.

  5. Нажмите кнопку "Пуск Swarm" , чтобы запустить тест.

  6. Выберите диаграммы для просмотра хода выполнения теста.

    Снимок экрана, показывающий диаграмму Locust во время тестового выполнения.

Очистите ресурсы

Завершив нагрузочное тестирование, очистите ресурсы. Ресурсы Azure, созданные в этой статье, оплачиваются с вашей подписки Azure. Если вы не ожидаете, что эти ресурсы потребуются в будущем, удалите их, чтобы избежать дополнительных расходов. После удаления ресурсов, относящихся к этой статье, не забудьте вернуться в другое руководство по приложению чата и выполнить действия по очистке.

Вернитесь в статью о приложении чата, чтобы очистить эти ресурсы.

Получите помощь

Если у вас возникли проблемы с этим тестером нагрузки, сообщите о проблеме в разделе "Проблемы репозитория.