Сведения о вопросе

HOLY

15:01, 25th August, 2020

Теги

asp.net    

Asp.net первый запуск сайта происходит очень медленно

Просмотров: 414   Ответов: 11

Первый раз, когда я загружаю сайт на рабочий веб-сервер, он запускается очень медленно, последующие страницы загружаются очень быстро (включая домашнюю страницу).

Я предварительно скомпилировал сайт, но ничего не изменилось.

У меня нет никакого кода при запуске приложения. У меня нет кэшированных элементов.

Есть какие-нибудь идеи? Как я могу узнать, что происходит?



  Сведения об ответе

ITSME

13:04, 22nd August, 2020

Это просто ваш домен приложения, загружающий и загружающий любые двоичные файлы в память. Кроме того, он инициализирует статические переменные, поэтому, если у вас есть статическая переменная, которая загружает много данных из БД, это может занять некоторое время.


  Сведения об ответе

ЯЯ__4

14:17, 27th August, 2020

Когда вы опубликовали сайт, вы решили сделать сайт "updatable" в настройках сайта публикации или нет? Если я хорошо помню, файл aspx / ascx также должен быть скомпилирован, и если они "updatable", то первый запуск вызовет перекомпиляцию этих ресурсов.


  Сведения об ответе

DAAA

09:33, 27th August, 2020

используйте http://www.iis.net/expand/ApplicationWarmUp для прогрева вашего приложения это для IIS 7.5 - так что если вы работаете на сервере R2, то он будет работать.


  Сведения об ответе

P_S_S

08:54, 15th August, 2020

Попробуйте очистить журнал событий?


  Сведения об ответе

appple

12:15, 15th August, 2020

Вы включили трассировку в своем web.config?


  Сведения об ответе

SSESION

18:20, 2nd August, 2020

Убедитесь, что вы публикуете свое приложение в 'release', а не в 'debug'. Я заметил, что это значительно сокращает время загрузки. Файл web.config будет обновлен.


  Сведения об ответе

FAriza

03:09, 7th August, 2020

Это очень похоже на фоновую компиляцию; хотя если вы выполняете предварительную компиляцию, это не должно быть проблемой.

Первое, что я хотел бы посмотреть, это ваш ORM (если таковой имеется). NHibernate, в частности, имеет серьезный штраф при запуске, так как он запускает несколько компиляторов в фоновом режиме при запуске, чтобы превратить каждый класс в вашем слое данных в свой собственный в памяти assembly.


  Сведения об ответе

JUST___

22:11, 21st August, 2020

Только быстрый кивок в сторону Даррена. Это типичное поведение приложения .NET после обновления DLL. После начальной загрузки все должно быть просто замечательно.


  Сведения об ответе

lats

21:09, 1st August, 2020

Когда вы говорите "precompile" сайт, вы используете утилиту aspnet_compiler для предварительной компиляции или просто используете параметр "Build site" в Visual Studio?

Если вы не выполняете первое ,я рекомендую дать ему вращаться. В сочетании с проектами Web Deployment вам будет проще развертывать свой сайт для каждого выпуска.


  Сведения об ответе

SSESION

01:19, 8th August, 2020

Первоначальная медлительность - это пара вещей:

  • appDomain находится в процессе настройки
  • ASP.NET-это разбор и компиляция страниц ASPX.
  • Инициализируются глобальные контексты.

Это нормальное поведение для ASP.NET.


  Сведения об ответе

+-*/

04:06, 26th August, 2020

@Mickey: нет, он выключен. Нужно ли мне его включить, чтобы узнать?

Журнал trace покажет вам, сколько времени занимает каждое действие. Это может помочь вам найти то, что занимает так много времени.

Вот ссылка, которая может помочь вам настроить его.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться