asp.net проблема с производительностью веб-приложения при начальной загрузке

#.net #asp.net #web-applications #precompiled

#.net #asp.net #веб-приложения #предварительно скомпилированный

Вопрос:

у меня есть одно веб-приложение. index.aspx — это моя страница по умолчанию. итак, моя проблема в том, что при первом запуске моего приложения загрузка страницы занимает 15 секунд. в моем index.aspx есть только простое статическое меню. когда я ставлю точку останова в page_load, она попадает через 15 секунд. так что это не моя страница, а что-то другое вызывает эту проблему. может быть предварительная компиляция или загрузка DLL-файлов или что-то в этом роде.

мне действительно нужна помощь в этом. я не знаю, где искать.

Спасибо

Ответ №1:

Это совершенно нормально. При первой инициализации приложения после нового развертывания ASP.NET страницы будут компилироваться в сборки для справки в IIS. Однако есть способы предварительной компиляции этих страниц.

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

http://msdn.microsoft.com/en-us/library/ms227972.aspx

Комментарии:

1. Эта предварительная компиляция была тем, что я искал. Спасибо.

Ответ №2:

Каждый раз, когда вы перестраиваете свое приложение, сервер должен перекомпилировать код, но это должно быть быстрее после первого посещения.

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

Если вы хотите просматривать сайт локально с более высокой производительностью в целом, вы можете настроить веб-сайт в IIS, а не использовать встроенный веб-сервер Visual Studio.

Комментарии:

1. спасибо, Ник. я протестировал это на нашей промежуточной области. даже после того, как страница с несколькими запросами занимает минимум 10 секунд. я что-то упускаю?

2. Используете ли вы встроенный веб-сервер (Cassini)? Он создан не для повышения скорости, а предназначен для отладки. Я полагаю, вы теряете производительность из-за возможности получать полезную информацию об отладке.

3. я использовал веб-сервер разработки. но я тестировал на нашем промежуточном IIS. и мое приложение предварительно скомпилировано. у меня есть другое приложение из того же источника, которое работает нормально, вообще без проблем. так это IIS делает что-то странное.

Ответ №3:

Дайте вашей странице отрисоваться, затем нажмите просмотреть исходный код и посмотрите на внешние библиотеки, на которые ссылается страница. Обычно причиной этого является принудительная загрузка клиентом большой внешней библиотеки javascript (эта библиотека должна быть кэширована на клиенте и не влиять на будущие загрузки страницы).