Дисковое кэширование для больших двоичных объектов

Дата последнего изменения: 19 апреля 2010 г.

Применимо к: SharePoint Server 2010

В этой статье
Включение дискового кэширования и изменение его параметров
Очистка дискового кэша
Улучшения дискового кэша

Дисковое кэширование используется для кэширования больших двоичных объектов (BLOB), например изображений, звуковых и видеофайлов. Дисковое кэширование работает быстро и устраняет необходимость использования круговых путей к базе данных. Большие двоичные объекты загружаются из базы данных один раз и сохраняются на стороне веб-клиента. Последующие запросы обрабатываются из кэша и ограничиваются в соответствии с параметрами безопасности. Для очистки всех кэшей больших двоичных объектов, связанных с указанным веб-приложением, на других интерфейсных веб-серверах в ферме можно воспользоваться командой Stsadm: stsadm –o setproperty –propertyname blobcacheflushcount –propertyvalue 11 –urlhttp://веб_приложение::порт

Включение дискового кэширования и изменение его параметров

Дисковое кэширование по умолчанию отключено. Чтобы включить и настроить дисковый кэш, необходимо изменить в файле web.config для веб-приложения SharePoint, сопоставленного веб-сайту служб IIS (Internet Information Services) следующую инструкцию:

<BlobCache location="C:\blobCache" path="\.(gif|jpg|png|css|js)$" maxSize="10" max-age="86400" enabled="false"/>

В предыдущем примере:

  • location — каталог, в котором будут храниться кэшированные файлы.

  • path — регулярное выражение, в котором по расширению файла указывается, какие файлы будут кэшироваться.

  • maxSize — максимально допустимый размер дискового кэша в гигабайтах.

  • max-age — максимальное время (в секундах), в течение которого браузер клиента кэширует большие двоичные объекты, загруженные на клиентский компьютер. Если срок кэширования загруженных элементов не истек с момента последней загрузки, эти элементы не запрашиваются повторно при запросе страницы. Атрибуту max-age по умолчанию присвоено значение 86400 секунд (24 часа); можно задать любой промежуток времени, больший или равный 0.

  • enabled — логическое значение, включающее или отключающее кэш.

Очистка дискового кэша

  1. В меню Действия сайта укажите Параметры сайта и затем выберите Изменить все параметры сайта.

  2. В разделе Администрирование семейства сайтов выберите Кэш объектов семейства сайтов.

  3. В разделе Очистить кэш на диске выполните указанные ниже действия.

    • Чтобы принудительно сбросить дисковый кэш на сервере, установите флажок Очистить кэш на диске данного сервера.

    • Чтобы принудительно сбросить дисковый кэш на всех серверах, установите флажок Очистить кэши на дисках всех серверов фермы.

    ПримечаниеПримечание

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

  4. Нажмите кнопку ОК.

Улучшения дискового кэша

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

Основная цель дискового кэша заключается в увеличении емкости фермы путем снижения нагрузки на Microsoft SQL Server. Это достигается путем сохранения содержимого файлов на жестких дисках интерфейсных веб-серверов. При запросе файла, отсутствующего в кэше интерфейсного веб-сервера, дисковый кэш загружает файл с сервера SQL Server, сохраняет его на диск и передает клиенту, запросившему файл. При последующих запросах этого же файла, адресованных данному интерфейсному веб-серверу, будет предоставляться файл, хранящийся на диске, а не на сервере SQL Server. Для каждого интерфейсного веб-сервера используется отдельный кэш.

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

Дисковый кэш поддерживает в SharePoint Server 2010 цифровые файлы мультимедиа благодаря поддержке диапазонов байтов HTTP; дисковый кэш теперь позволяет обрабатывать запросы отдельных частей файлов. Дисковый кэш кэширует файл целиком, однако в ответ на запросы отдельных частей файла (например, последних 5 МБ видео) возвращаются только запрошенные байты, а не весь файл. Возврат отдельных частей файлов позволяет сэкономить полосу пропускания и, что более важно, позволяет мультимедиа-проигрывателям выполнять "поисковые" запросы к кэшированным файлам. Например, если пользователь решит пропустить часть видео ближе к концу файла, просматриваемого в проигрывателе Windows Media, проигрыватель вычислит, какой диапазон байтов необходим пользователю, и сделает соответствующий запрос.

При работе с крупными файлами, например с видео и другими мультимедийными файлами, приложение SharePoint Server 2010 должно учитывать, что загрузка таких файлов с сервера SQL Server занимает продолжительное время и приводит к большим задержкам на стороне клиента. Для решения этой проблемы дисковый кэш загружает контент с сервера SQL Server малыми частями. После загрузки нескольких частей начинается передача файла клиенту. Такой подход позволяет значительно сократить "время получения первого байта" клиентом, поскольку обработку файла можно начать, не дожидаясь загрузки всего файла с сервера SQL Server.

Использование полосы пропускания на сервере можно дополнительно ограничить с помощью регулирования скорости загрузки файлов. Эта функция реализована в модуле IIS Media Pack (Возможно, на английском языке). Этот модуль не добавляет и не удаляет никакие функции из SharePoint Server, однако позволяет увеличить количество одновременных подключений благодаря ограничению полосы пропускания для каждого подключения.

См. также

Концепции

Общие сведения о настраиваемом кэшировании

Кэширование вывода и профили кэша

Кэширование объектов

Управление цифровыми активами