У нас есть определенное приложение, работающее в IIS 8.5, реализованное как «веб-сад», например, Max Worker Processes = 10. Причина этого в длительных запросах, интенсивном использовании БД и сети / асинхронности, чтобы избежать заполнения очереди рабочий процесс в очень загруженном приложении.
AppPool предназначен для приложения NetCore (без управляемого кода), обслуживающего RESTful API, режим конвейера = интегрированный.
Мы пытаемся выяснить, как IIS определяет, когда запускать дополнительные рабочие процессы, которые необходимо создать. Мы не смогли найти никакой документации или статей / сообщений, объясняющих, что вызывает «потребность» в следующем рабочем процессе, пока не будет достигнуто максимальное настроенное значение.
Мы не можем понять, как IIS определяет, когда следует масштабировать рабочие процессы, чтобы лучше настроить для него максимальное значение. Судя по тестам и наблюдениям, это кажется странным случайным, хотя есть некоторые признаки того, что «новые запросы» рано или поздно вызовут новый рабочий процесс (даже при очень малых объемах запросов, скажем, один запрос каждые 5 минут)
Из различных тестов мы заметили, что:
Какие-нибудь подсказки?