Почему asp.net медленный ответ - PullRequest
0 голосов
/ 16 июля 2009

Привет! Я развернул один из наших веб-сайтов asp.net на сервере Windows 2003.

Когда я запрашиваю страницу по умолчанию, всегда первый ответ на сеанс занимает больше времени. Я думаю, что из-за изображения Rendring / CSS и JavaScript.

Есть ли способ сделать ответ как можно быстрее. Также в моем default.aspx я использую 6 веб-частей и 6 пользовательских элементов управления, по одному для каждой веб-части.

Ответы [ 3 ]

1 голос
/ 16 июля 2009

Первый запрос веб-приложения к IIS всегда будет занимать больше времени, поскольку он должен запустить приложение и скомпилировать файлы ASPX. Он также должен будет выполнить код для запуска приложения, например Application_Start в Global.asax.

Вы не можете полностью решить эту проблему, но вы можете обойти ее, предварительно скомпилировав веб-сайт, выполнив инициализацию в фоновом режиме, если это возможно, и убедившись, что для отладки компиляции установлено значение false в файле web.config.

1 голос
/ 16 июля 2009

Если я правильно понимаю (и часто не понимаю), первый запрос к приложению ASP.NET должен скомпилировать приложение в CLI, что занимает немного больше времени, чем последующие запросы. Изображения и CSS / JS будут иметь минимальное влияние в схеме вещей.

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

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

Как уже упоминалось, убедитесь, что в вашем файле web.config установлено значение debug = "false", т. Е.

<compilation debug="false">...</compilation>

Удивительно, как может измениться это маленькое изменение.

1 голос
/ 16 июля 2009

Первый запрос к сайту asp.net запустит компиляцию сайта. В Visual Studio 2005 есть опции, позволяющие предварительно скомпилировать сайт перед его развертыванием, что позволит избежать начальной задержки при обслуживании первой страницы.

Эта статья содержит больше информации о том, что именно происходит во время первого запроса. http://www.odetocode.com/Articles/417.aspx

...