Как улучшить время загрузки страницы сайта asp.net?

Привет всем, я использую vs2008 C# asp.net. У меня есть страницы в моем проекте, который содержит много видов списка и текстовых полей, элементы управления загрузкой изображений. Все элементы управления из стандартного инструментария vs2008. Я хочу знать возможные способы улучшения времени загрузки страницы для моего проекта. Я слышал о сжатии viewstate. Есть ли другие предложения? Пожалуйста помоги. Спасибо

4 ответа

ViewState Chunking

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

Проверьте эту статью: Большой ViewState & ViewState Chunking

Альтернативное хранилище

Есть также несколько других способов хранения информации ViewState, кроме скрытого поля на странице.

Ознакомьтесь с этой статьей: Управление ViewState с использованием архитектуры провайдера ASP.NET 2.0

Сжатие ViewState

Лично я обнаружил, что сжатие ViewState приносит наибольшую выгоду с точки зрения производительности, поэтому, если бы это было возможно, я бы определенно это изучил. Модуль Radrikompress от Telerik прекрасно работает, но он не бесплатный. Вы также можете реализовать это сами.

Проверьте эти статьи о сжатии ViewState:

Наконец, там, где вам не нужно отслеживать ViewState, установите EnableViewState ложно.

Первое, что вы должны сделать, это измерить текущее состояние, есть много инструментов, которые помогут вам в этой задаче:

вещи, которые нужно измерить

  • сколько времени для первого байта или времени, необходимого серверу для генерации страницы, должно быть меньше 0,5 секунды. Если это время больше этого, используйте профилировщик Visual Studio для определения узких мест и оптимизации критических частей.
  • Измерьте размер состояния представления и проанализируйте содержимое, так как вы используете много видов сетки, возможно, это проблема, здесь, в SO, есть десятки сообщений, связанных с этой проблемой.
  • ПОНИМАНИЕ ViewState, и как оно работает, отличный пост здесь
  • Вы должны уменьшить количество запросов, объединить CSS и JavaScript в один файл, для этого есть множество бесплатных инструментов.
  • Включить сжатие IIS GZIP
  • Используйте Fiddler, чтобы увидеть, как ваши запросы кэшируются локально
  • Используйте Css Image Sprites для небольших изображений
  • Используйте кэширование asp.net, это действительно хорошо и предлагает решения для многих сценариев использования, особенно полезно в ситуациях, когда проблемой является увеличение трафика.

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

Вы также можете попытаться уменьшить количество сеток. Это не может быть возможным вариантом из-за требований.

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

  • Режим ViewState может быть установлен в false

Даже если вы используете элементы управления с большим весом, они могут не требовать включения ViewState. Итак, попробуйте определить, когда они вам на самом деле не нужны, и установите для свойства ViewState Mode значение false в каждом из них:

ViewStateMode="Disabled"

Это уменьшит размер ViewState так, чтобы производительность могла быть улучшена

  • сжатие gzip

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

  • Контролируйте свой размер ViewState

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

Другие вопросы по тегам