У меня есть серверы Win2012-IIS, на каждом из которых размещено ~ 25 aspnet / c # webapps, и есть проблема с производительностью с aspnet JIT / JIT-компиляцией.
Когда операция JIT запускается автоматически, после развертывания кода она заставляет машины сканировать. Мы также обнаружили, что иногда он случайным образом зацикливается бесконечно (съедая весь процессор). Проблема начиналась с малого, но она усугублялась увеличением количества приложений на сервер и сложностью программы. Развертывание происходит в рабочее время, и у нас уже был один серьезный сбой в обслуживании из-за длительных или зависших после развертывания процессов JIT, в результате которых были уничтожены 2 машины.
Все приложения представляют собой один и тот же продукт, но используют разные БД, домены и версии кода. Разработчики довольно часто развертывают новые сборки кода, копируя .Dll и другие файлы в каталоги приложений. Машины оснащены процессорами Xeon-E3 или i7-4x / 6x высшего уровня и оперативной памятью, достаточной для запуска всех приложений, которые занимают ~ 700 мегабайт каждое.