У меня (большая) проблема, которая может возникнуть у всех вас, работающих с Webforms.
Проблема в времени загрузки страницы . Используя localhost (ведьма должна быть самым быстрым режимом) в Vista (IIS 7) я получаю этот график
альтернативный текст http://www.balexandre.com/temp/2009-06-29_1302_soquestion.png
оригинальная ссылка на файл
Как видите, для отображения страницы требуется более 17 секунд !!! и всего 2 секунды, чтобы загрузить страницу самостоятельно ...
Я использую ASP.NET AJAX Framework для работы с веб-частями.
Как я могу уменьшить эти 17 секунд?
Любая идея о том, куда идти, очень ценится:)
Добавлено: Проверка правильности ответа от Ян Зич
Я проверял изменение
<asp:ScriptManager ID="sm" runat="server" />
в
<ajax:ToolkitScriptManager ID="sm" runat="server" CombineScripts="true" />
и результат с использованием FireBug впечатляет (в половине случаев и без использования кеша!), Как вы можете видеть на изображении ниже
альтернативный текст http://www.balexandre.com/temp/2009-06-29_1543_soquestion.png
и с CSS и jQuery файлы, кэшированные , уменьшаются до половины!
альтернативный текст http://www.balexandre.com/temp/2009-06-29_1550_soquestion.png
исходная ссылка на файл
Это не будет считаться правильным ответом, потому что я не знаю, как на самом деле это исправить, но проблема в том, что большинство браузеров (помимо Safari и Chrome, возможно) загружают JavaScript последовательно, потому что необходимо дождаться предыдущего скрипта закончить выполнение (так как это может изменить документ). Обычно это исправляется путем объединения всех файлов JavaScript в один.
Редактировать: Смежный вопрос: Как объединить файлы WebResource.axd и ScriptResource.axd, чтобы уменьшить количество запросов к моему серверу ASP.NET? . Кроме того, я не могу видеть, какие сценарии вы на самом деле включаете из скриншота, но, скорее всего, это ваши собственные сценарии. Есть ли в вашем приложении способ как-то их объединить?
Имейте в виду, что при включенном режиме отладки (в web.config: <compilation debug="true">) такие ресурсы, как файлы JavaScript, изображения и файлы CSS, не кэшируются браузером.
<compilation debug="true"
Следовательно, в производственной среде (с отключенной отладкой) эти числа могут выглядеть по-разному, поскольку браузер будет кэшировать большинство ресурсов и не запрашивать их снова для каждой страницы / запроса.
Используете ли вы UpdatePanel, который загружает много данных? Если это так, страница не будет отображаться, пока не получит все данные.
Можно расширить панель обновления, чтобы она отображалась до загрузки ваших данных - В этой статье описывается, как это сделать (увы, на голландском языке, но я считаю, что комментарии внутри код были на английском)