То, что вы описываете, не похоже на хороший вариант использования функций Azure.
Предполагается, что следующие функции:
- Инициируются событием
- Короткая работа (максимум 10 минут)
- Без состояния и эфемерно
Но, действительно, функции хороши для нагрузочного тестирования, но настройка должна отличаться:
- Вы определяете триггер для своей функции (например, HTTP или концентратор событий)
- Каждое выполнение функции выполняет заданное количество запросов, параллельно или последовательно, а затем завершает работу
- Существуетгде-то оркестратор (например, просто консольное приложение), который отправляет «команды» (HTTP-вызов или событие) для запуска функции
Итак, функции «умножают» нагрузку в соответствии с расписанием, определяемыморкестратор.Вы полагаетесь на масштабируемость плана потребления, чтобы обеспечить выделение достаточного количества выполнений в любой момент времени.
Самое большое отличие состоит в том, что при выполнении функций не общаются друг с другом, поэтому им не нужны IP-адреса.
Я думаю, что упомянутый пример на основе AWS Lambda просто вызывает Lambdas, он не настраивает лямбды master-client, говорящие друг с другом.
Я предполагаю, что моя точка зрения такова, чтовам может вообще не понадобиться эта среда Locust, а вместо этого использовать встроенные возможности автоматического масштабирования FaaS.