Как выяснить, почему мой локальный хост-сайт загружается так долго? - PullRequest
8 голосов
/ 20 июня 2011

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

Например

Страница в режиме отладки локального хоста (F5) занимает 44 секунд

Эта же страница на моем живом сайте занимает 2 секунды

Та же страница на локальном хосте, но не в режиме отладки (Ctrl + F5) занимает 4 секунды

Так что я не уверен, что случилось с моим отладчиком, но это замедляет работу сайта.

У меня есть Visual Studio 2010 Ultimate Edition.

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

Я попытался создать новый проект asp.net mvc 3, и он быстро загружается в режиме отладки. Я также взял точно такой же код и бросил его на другой компьютер, на котором работает VS 2010 Ultimate, и он быстро загружается.

Так что я не уверен, что делать дальше с тестом.

Ответы [ 8 ]

5 голосов
/ 07 июля 2011

В каком браузере вы отлаживаете?

У меня были похожие проблемы с работой моего сайта в FireFox 3+ (Win7).

Эта проблема была решена путем перехода в about: config если FireFox и установка network.dns.disableIPv6 в true.

3 голосов
/ 09 июля 2011

Вы как бы ответили на свой вопрос.

Страница в режиме отладки локального хоста (F5) занимает 44 секунды

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

Если ваш локальный веб-сервер не запустился, потребуется дополнительное время для его раскрутки, загрузки сборок, выполнения JIT и отображения вашего приложения..

Эта же страница на локальном хосте, но не в режиме отладки (ctrl + F5), занимает 4 секунды

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

Эта же страница на моем живом сайте занимает 2 секунды

Наконец, ваш живой сайт, скорее всего, будетиметь версию выпуска кода (без отладочной информации).И, скорее всего, сервер будет иметь гораздо больше лошадиных сил (CPU / RAM / Cache), чем ваш локальный ПК.Отсюда повышение скорости.

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

Надеюсь, это поможет!

1 голос
/ 07 июля 2011

У меня была похожая проблема несколько лет назад.

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

Попробуйте проверить это с помощью Wireshark.

0 голосов
/ 30 октября 2016

Время загрузки моего сайта в режиме отладки сократилось с 3 минут до 35 секунд, когда я установил параметр Отладка для «x86» вместо «Любой ЦП» в Visual Studio 2015. Это можно сделать, просто выбрав «x86» из DropDown на панели инструментов Visual Studio.

Надеюсь, это кому-нибудь поможет.

0 голосов
/ 11 октября 2016

На всякий случай, если кто-то еще найдет это.У меня была похожая проблема.Очень медленно загружать даже основные HTML-страницы.

Это был антивирус AVG.

0 голосов
/ 08 июля 2011

Не уверен, что это может быть, но у меня была похожая проблема некоторое время назад, когда я делал json-запросы с ajax. Это заняло около 500 мсек, после исправления это заняло всего 10-20 мсек.

http://www.swarmonline.com/2011/01/slow-asp-net-development-server-windows-7/

Это добилось цели.

0 голосов
/ 07 июля 2011

Не так много здесь, но если у вас есть приложение с интенсивным использованием javascript и вы выполняете отладку, используя I / E в качестве браузера по умолчанию, то IDE действительно должна загрузить этот javascript в отладчик. Я мог бы рекомендовать использовать инструмент профилирования Firebug или YSlow, чтобы увидеть, какие файлы являются виновниками.

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

0 голосов
/ 20 июня 2011

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

Мы отредактировали файл global.asax в нашем проекте, и он, похоже, очистил некоторые поврежденные сборки. Я предлагаю вам попробовать очистить GAC от скомпилированных dll для вашего приложения (вам нужно будет найти в Google)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...