@Mindgrow

Как ускорить время запуска первой страницы (страницы авторизации)?

Добрый день!

При первом входе на сайт ASP MVC страница очень долго загружается (5-7 секунд).
Как можно ускорить время её загрузки?
На сколько я узнал дело может быть связано с различными кэшированиями и ApplicationPool, но я пока не смог разобраться что сделать, чтобы ускорить запуск.

Кто сталкивался с подобными проблемами, подскажите что можно сделать?
  • Вопрос задан
  • 227 просмотров
Решения вопроса 1
@basrach
Если задержка 5-7 секунд, то скорее всего это связано с остановкой ApplicationPool-а. При отсутствии запросов в течении некоторого времени (по умолчанию 20 мин) IIS останавливает процесс, который обслуживает ап-пул сайта. Соответственно, если приходит запрос и пул остановлен, то IIS-у нужно запустить процесс, поднять все модули для сайта, сам сайт загрузить и запустить, и только после всего этого сайт будет готов обрабатывать запросы. Отсюда такая значительная задержка при первом запросе, все последующие запросы будут обрабатываться быстро.
Чтобы изменить это поведение нужно в IIS-Manager выбрать пул, затем Advanced Settings и там два параметра: "Idle Time-out" и "Idle Time-out Action". Последний отвечает за действие после истечения таймаута, по умолчанию там стоит Terminate, т.е. прерывать процесс, можно изменить на Suspend (приостановить но не убивать процесс). Также там есть параметр "Start Mode", и там стоит по умолчанию OnDemand (по запросу), можно изменить на AlwaysRunning (т.е. всегда запущен).
Но стоит учесть, что постоянно запущенный процесс ап-пула будет потреблять немало памяти и некоторое количество процессорного времени, и если приложение используется редко, то по сути в холостую расходовать ресурсы сервера.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Из самого простого можно посоветовать использовать precompile во время публикации и/или фичу auto-start в IIS. Обычно этого бывает достаточно.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Монополия Санкт-Петербург
от 87 000 до 87 000 ₽
Enqo Москва
от 200 000 ₽
25 апр. 2024, в 14:21
15000 руб./за проект
25 апр. 2024, в 14:07
20000 руб./за проект
25 апр. 2024, в 14:06
2500 руб./за проект