Разгоняем SharePoint

Как известно, одним из не очень приятных моментов при разработке интернет сайта на SharePoint является его производительность. Но это не вердикт и с этим можно бороться.

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

· Во-первых, можно включать механизмы кеширования страниц SharePoint через веб интерфейс

· Возможно включать кэширование объектов и использовать кэширование в разработанных вами веб-частях и элементах управления

· Существует BLOB Сache и сжатие средствами IIS

· Необходимо делать оптимизацию страниц и мастер страниц, то есть отключать core.js и core.css там, где они не нужны, убирать ненужные элементы управления и т.д. Помещать ваши собственные сборки в GAC и обязательно подписывать их. Использовать <SharePointWebControls:ScriptLinkrunat="server"/> и <SharePoint:CssLink ID="CssLink1" runat="server" /> для подключения css и js вместо аналогов из html.

Теперь давайте по-порядку.

Кэширование возвращаемой страницы (Output caching)

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

А теперь представим, что нам необходимо, чтобы при изменении какого-либо параметра в строке адреса (query string) страница бралась не из кэша, а отображалась и получала информацию заново. Этого можно достичь, написав в поле Vary by Query String Parameters символ “*

Что делать, если на странице должны быть элементы управления с динамической информацией при этом вся остальная страница должна кэшироваться? Нужно использовать Post-Cache Substitution control.

Кэширование файлов (Blob cache)

Blob Cache помещает элементы SharePoint на диск на сервере. Опция отключена. Для включения необходимо отредактировать web.config.

Кэширование запросов и объектов (Object cache)

Активирован по умолчанию. Используется для быстрого доступа к элементам:

· Навигация и структура портала

· Поля и элементы списков

· Данные отображаемые в Content by Query web part

По умолчанию кэш объектов составляет 100MB и это можно изменить через веб-интерфейс.

Сжатие IIS

Добавить сжатие для JS и CSS можно выполнив в командной строке на сервере:

cscript adsutil.vbs set w3svc/filters/compression/gzip/hcfileextensions "htm" "html" "txt" "js" "css"

cscript adsutil.vbs set w3svc/filters/compression/deflate/hcfileextensions "htm" "html" "txt" "js" "css",

iisreset

IHttpModule и жесткая оптимизация

Совет для тех, кого просто бесит много лишнего текста в возвращаемой браузером странице потому что он эстет или гик (ненужное зачеркнуть), или стоит задача сделать страницы совсем маленькими и легкими. Для этого пишется IHttpModuleв котором в методе Init страницы убирается из возвращаемого результата всё лишнее. Только убрать надо именно лишнее, т.е. то без чего ваша страница продолжит нормально работать ;)

Всем, удачи))


Комментарии (0)

Авторизуйтесь, чтобы добавлять комментарии
Отправьте нам сообщение