У меня есть веб-приложение ASP.NET (v4.0), которое установлено в виртуальном каталоге (как приложение) и размещено в его собственном пуле приложений. Это повторяется для каждого экземпляра приложения (т.е. для каждого клиента).
Пулы приложений имеют интегрированный (не классический) режим, а для LoadUserProfile установлено значение true. В противном случае настройки по умолчанию.
Каждый экземпляр в настоящее время имеет свою собственную копию кода / конфигурации и свою собственную папку данных (основной файл для чтения / записи).
1 экземпляр этого приложения работает хорошо (операция, используемая для сравнения, занимает ~ 4 секунды). Каждый другой экземпляр работает медленно (от 10-25 секунд для той же операции).
Если я переместу более медленный экземпляр в «самый быстрый» пул приложений, этот экземпляр возродится. Если переместить более быстрый экземпляр в более медленный пул приложений, этот экземпляр замедлится до сканирования.
Первоначально пулы приложений создавались одинаково - вручную. Позже я использовал процедуру копирования powershell, чтобы обеспечить точное копирование более быстрого пула приложений и все то же поведение. Сравнение файлов apppool.config показывает, что они идентичны, за исключением назначений виртуальных каталогов.
Насколько я могу судить, нет общих ресурсов, которые блокируются, и я проверил это, закрыв пул приложений-исполнителей и перезапустив ... медленно все еще медленно, а затем, когда я перезапускаю этот пул приложений (поэтому он загружается последнее) еще быстрее ...