Как улучшить время загрузки страницы сайта 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
ложно.
Первое, что вы должны сделать, это измерить текущее состояние, есть много инструментов, которые помогут вам в этой задаче:
- Скорость страницы Google
- YSlow
- Тест веб-страницы
- Инструменты Pingdom
- Скрипач 2
- Размер ViewState - Firefox ext.
- ViewState viewer - Firefox ext.
вещи, которые нужно измерить
- сколько времени для первого байта или времени, необходимого серверу для генерации страницы, должно быть меньше 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.