Как ускорить запуск ASP.NET MVC приложения?

Есть сайт, c#, asp.net mvc (не core).
Проблема заключается в том, что когда выкладываешь новую версию, то на перезапуск уходит довольно значительное время - 1-2-3 минуты.
Как можно это исправить?

Выкладываю прямо из VS посредством webdeploy на windows сервер

Пока есть идея сделать примерно как в Azure - деплоить в новую папку, запускать экземпляр, ждать пока он запустится, менять экземпляры в IIS местами, и потом убивать старый. Есть ли какие-нибудь готовые решения для того, чтобы так делать?

Или может есть другие варианты (оптимизация кода)?
  • Вопрос задан
  • 205 просмотров
Пригласить эксперта
Ответы на вопрос 2
@vitaly_il1
DevOps Consulting
Как я писал недавно https://qna.habr.com/q/1250136#answer_2289366 - если вы в облаке, то есть готовые сервисы для этого, если нет - надо придумывать скриптологию для деплоя.
В "настоящих" местах есть несколько серверов, на которые деплоят по очереди.
Ответ написан
Комментировать
vabka
@vabka Куратор тега ASP.NET
Токсичный шарпист
На IIS вполне можно реализовать сине-зелёные деплои, но нужно будет поавтоматизировать.
Как пример:
https://mthai.medium.com/setup-an-iis-blue-green-e...

Ещё для ускорения запуска можно попробовать out-of-process и компилировать в ReadyToRun.
А там можно и вообще с винды и веб-деплоя уехать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы