ASP.NET 3.5 Web Application Project занимает слишком много времени для начальной загрузки - PullRequest
5 голосов
/ 14 мая 2009

Я начал работать в новой компании, и основной проект, над которым я работаю (проект веб-приложений ASP.NET 3.5), занимает слишком много времени для начальной загрузки (около 1,5 минут)

Я знаю, что это обычно природа проектов веб-приложений, но моя проблема в том, что это слишком долго.

Я пробовал несколько вещей, чтобы попытаться определить, что может быть причиной этой задержки, включая Замена файла web.config на новый, созданный из нового проекта очистил все из моего app_start в моем web.config удалил все dll weppart из папки bin (в результате чего в каталоге bin осталось 19 dll, в том числе 6 из библиотеки предприятия MS)

и все же загрузка занимает очень много времени.

Мне было интересно, есть ли у кого-нибудь указания относительно того, как я могу узнать, что вызывает такое огромное время загрузки, или каких-либо инструментов, которые помогли бы мне увидеть, что делает мое приложение, когда оно запускается

спасибо -Kris

Ответы [ 5 ]

3 голосов
/ 30 декабря 2009

В .NET 2.0 есть еще одна проблема. Если у вас есть какие-либо подписанные сборки в папке bin, CLR пытается подключиться к URL-адресу VeriSign и получает список отзыва сертификатов, чтобы проверить, действительны ли они.

Это также может съесть ваше время запуска. Если вы считаете, что это может способствовать вашей проблеме, вы можете взглянуть на следующие статьи MS:

http://digital.ni.com/public.nsf/allkb/18E25101F0839C6286256F960061B282
http://support.microsoft.com/kb/936707

Чтобы справиться с этим для каждого отдельного приложения, вы можете добавить следующие настройки в разделе config в вашем app.config / web.config.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <runtime>
       <generatePublisherEvidence enabled="false" />
    </runtime>
</configuration>

Конечно, если вы добавите этот параметр, подписанные библиотеки DLL больше не будут проверяться на их действительность!

2 голосов
/ 14 мая 2009

Попробуйте сценарий разминки .

JetBrains DotTrace является отличным профилировщиком ASP.NET.

0 голосов
/ 15 декабря 2010

Профилировщик ANTS от RedGate может дать вам несколько советов о том, что может замедлить вас.

Установите точку останова на Page_Load в Default.aspx.cs и начните работу.

Проверьте файл Global.asax, чтобы увидеть, загружается ли что-либо, о чем вы не знаете.

Другие проекты загружаются быстро? У вас работают другие программы, которые могут замедлять работу вашего компьютера? Как вы упоминаете, приложения .NET занимают больше всего времени при начальной загрузке ... у вас есть много ссылок (за пределами библиотек, DLL ... и т. Д.)

Если вы публикуете на промежуточном сервере или сервере разработки, он загружается быстро?

0 голосов
/ 14 мая 2009

Попробуйте использовать SQL Profiler и наблюдайте за связанной активностью базы данных во время запуска.

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

Если это так, вы можете сосредоточить свои усилия на оптимизации запросов, вызывающих наибольшее количество блокировок.

0 голосов
/ 14 мая 2009

Сколько существует проектов? Если у вас есть куча сборок и библиотек в каталоге bin, это может значительно замедлить время загрузки (даже если они довольно малы). Это лучшее, что я могу предложить.

...