Skip to content

Кэш

Для ускорения раздачи VOD можно использовать кэш.

Для оригинальных файлов из облака или с HTTP сервера используется cache.

Для файлов на SSD диске приходится использовать схему с промежуточным SSD кэшированием, т.е. кэшировать сегменты с помощью segment_cache.

Файловый кэш на SSD

Если файлы берутся из облака или с простого HTTP сервера (например, другого Flussonic Media Server), то нужно настроить файловый кэш. То есть зону, куда файл будет скачиваться целиком.

Этот механизм позволит выстроить полноценный файловый CDN из нескольких Flussonic Media Server, поскольку даже скачивание файла с вторичного сервера приведет к кэшированию файла на нём.

И, конечно, Flussonic Media Server не будет скачивать одни и те же данные с источника дважды.

Warning

Для кэширования файлов не используйте разделы SSD, смонтированные с опцией noatime.

Для настройки файлового кэша пропишите в конфигурации:

vod vod_remote {
  storage s3://minioadmin:minioadmin@minio:9001/test;
  cache /storage/cache 400G;
  download;
}

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

Кэширование по количеству обращений

Для файлов можно указать условие для помещения файла в кэш — этим условием будет количество запросов файла клиентами.

Опция misses=3 говорит серверу, что файл нужно поместить в кэш, если к нему было более трех обращений:

vod vod_remote {
  storage s3://minioadmin:minioadmin@minio:9001/test;
  cache /storage/cache 400G misses=3;
  download;
}

Настройка кэша в веб-интерфейсе

Чтобы выбрать настройки кэширования через Flussonic UI:

  1. В разделе VOD (Files) кликните файл, который нужно кэшировать.
  2. Отредактируйте настройки на вкладке Output в секции Cache.

VOD cache

Сегментный кэш для SSD

На сегодняшний день один из самых главных способов радикально ускорить работу сервера по раздаче контента с дисков — использование SSD накопителей.

Так как твердотельные накопители стоят существенно дороже, чем обычные диски, то приходится использовать схему с промежуточным SSD кэшированием.

Flussonic Media Server умеет самостоятельно кэшировать на диске запрашиваемые отрезки видео по протоколу HLS, что позволяет сильно ускорить раздачу.

Для настройки сегментного кэша пропишите в конфигурации:

vod vod1 {
    storage /mount/hdd1;
    storage /mount/hdd2;
    storage /mount/hdd3;
    segment_cache /mount/ssd1 20G 48h misses=2;
}

При такой конфигурации Flussonic Media Server будет сам поддерживать заполнение кэша на уровне 20 гигабайт, стирая файлы старше двух суток и кэшируя только те файлы, к которым было больше двух обращений. Опция segment_cache указывается только один раз.

Warning

Мы не рекомендуем использовать для segment_cache обычные диски (HDD), используйте SSD.