Как увидеть разницу между maxConcurrentRequests и FUNCTIONS_WORKER_PROCESS_COUNT с точки зрения параллелизма и ограничений для Функций Azure.
Некоторые определения можно найти на странице https://docs.microsoft.com/en-us/azure/azure-functions/functions-best-practices, которые я вставил ниже:
Используйте несколько рабочих процессов
По умолчанию любой экземпляр узла для функций использует один рабочий процесс. Чтобы повысить производительность, особенно с однопоточными средами выполнения, такими как Python, используйте FUNCTIONS_WORKER_PROCESS_COUNT, чтобы увеличить количество рабочих процессов на хост (до 10). Затем функции Azure пытаются равномерно распределить одновременные вызовы функций между этими рабочими.
FUNCTIONS_WORKER_PROCESS_COUNT применяется к каждому хосту, который Functions создает при масштабировании вашего приложения для удовлетворения спроса.
Настройте поведение хоста для лучшей обработки параллелизма
Файл host.json в приложении-функции позволяет настраивать среду выполнения хоста и поведение триггеров. В дополнение к пакетному поведению вы можете управлять параллелизмом для ряда триггеров. Часто настройка значений в этих параметрах может помочь каждому экземпляру масштабироваться в соответствии с требованиями вызываемых функций.
Настройки в файле host.json применяются ко всем функциям в приложении в пределах одного экземпляра функции. Например, если у вас есть приложение-функция с двумя функциями HTTP и запросами maxConcurrentRequests, установленными на 25, запрос к любому триггеру HTTP будет засчитываться в 25 общих одновременных запросов. Когда это приложение-функция масштабируется до 10 экземпляров, десять функций фактически разрешают 250 одновременных запросов (10 экземпляров * 25 одновременных запросов на экземпляр).
Другие параметры конфигурации хоста можно найти в статье о конфигурации host.json https://docs.microsoft.com/en-us/azure/azure-functions/functions-host-json.
{
"extensions": {
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 200,
"maxConcurrentRequests": 100,
"dynamicThrottlesEnabled": true,
"hsts": {
"isEnabled": true,
"maxAge": "10"
},
"customHeaders": {
"X-Content-Type-Options": "nosniff"
}
}
}
}
РЕДАКТИРОВАТЬ:
Это не связано с вопросом, но хорошо знать, что ›
Пределы
Длина HTTP-запроса ограничена 100 МБ (104 857 600 байтов), а длина URL ограничена 4 КБ (4096 байтами). Эти ограничения задаются элементом httpRuntime файла Web.config среды выполнения.
Если функция, использующая триггер HTTP, не завершится в течение 230 секунд, балансировщик нагрузки Azure истечет по тайм-ауту и вернет ошибку HTTP 502. Функция продолжит работу, но не сможет вернуть ответ HTTP. Для долговременных функций мы рекомендуем следовать шаблонам асинхронности и возвращать местоположение, в котором вы можете проверить состояние запроса. Информацию о том, как долго может работать функция, см. В разделе Масштабирование и хостинг - план потребления.
maxConcurrentRequests
иFUNCTIONS_WORKER_PROCESS_COUNT
- разные вещи. - person Kashyap   schedule 06.02.2021