Нагрузочное тестирование приложения чата Python с помощью RAG с Locust
В этой статье описывается процесс выполнения нагрузочного тестирования в приложении чата Python с помощью шаблона RAG с Locust, популярного средства нагрузочного тестирования с открытым исходным кодом. Основная цель нагрузочного тестирования — убедиться, что ожидаемая нагрузка в приложении чата не превышает текущую квоту Azure OpenAI Transactions в минуту (TPM). Имитируя поведение пользователя в условиях тяжелой нагрузки, вы можете определить потенциальные узкие места и проблемы масштабируемости в приложении. Этот процесс имеет решающее значение для обеспечения того, чтобы ваше приложение чата оставалось адаптивным и надежным, даже при использовании большого объема запросов пользователей.
Просмотрите демонстрационный видеоролик, чтобы узнать больше о нагрузочном тестировании приложения чата.
Примечание.
В этой статье используется один или несколько шаблонов приложений ИИ в качестве основы для примеров и рекомендаций в этой статье. Шаблоны приложений ИИ предоставляют вам хорошо поддерживаемые и простые в развертывании эталонные реализации, которые помогают обеспечить высококачественную отправную точку для приложений ИИ.
Необходимые компоненты
Подписка Azure. Создать бесплатно
Службе Azure OpenAI предоставлен доступ в требуемой подписке Azure В настоящее время доступ к этой службе предоставляется только приложением. Вы можете подать заявку на доступ к Azure OpenAI, выполнив форму по адресу https://aka.ms/oai/access.
Контейнеры разработки доступны для обоих примеров, при этом все зависимости, необходимые для выполнения этой статьи. Контейнеры разработки можно запускать в GitHub Codespaces (в браузере) или локально с помощью Visual Studio Code.
Приложение чата Python с RAG — если вы настроили приложение чата для использования одного из решений балансировки нагрузки, эта статья поможет протестировать балансировку нагрузки. К решениям балансировки нагрузки относятся приложения контейнеров Azure.
Открытие примера приложения нагрузочного теста
Нагрузочный тест находится в решении приложения чата Python в качестве теста Locust. Чтобы выполнить следующие действия, необходимо вернуться к этой статье, развернуть решение, а затем использовать среду разработки контейнеров разработки.
Запуск теста
Установите зависимости для нагрузочного теста.
python3 -m pip install -r requirements-dev.txt
Запустите Locust, который использует тестовый файл Locust: locustfile.py найден в корне репозитория.
locust
Откройте запущенный веб-сайт Locust, например
http://localhost:8089
.Введите следующее на веб-сайте Locust.
Свойство Значение Число пользователей 20 Наращивайте 1 Хост https://<YOUR-CHAT-APP-URL>.azurewebsites.net
Нажмите кнопку "Пуск Swarm" , чтобы запустить тест.
Выберите диаграммы для просмотра хода выполнения теста.
Очистка ресурсов
После завершения нагрузочного тестирования очистите ресурсы. Ресурсы Azure, созданные в этой статье, выставляются в подписку Azure. Если вы не ожидаете, что эти ресурсы потребуются в будущем, удалите их, чтобы избежать дополнительных расходов. После удаления ресурса, относяногося к этой статье, не забудьте вернуться в другое руководство по приложению чата и выполнить действия по очистке.
Вернитесь в статью о приложении чата, чтобы очистить эти ресурсы.
Получить помощь
Если у вас возникли проблемы с этим нагрузчиком, зайдите в журнал проблемы репозитория.