Настройка работы с чанками через плагин ЛДМ. Управление файлами

Web-клиент всегда получает файл частями (чанками) вне зависимости от его размера. В зависимости от размера файла и настройки размера чанка файл может быть получен при помощи одного или нескольких чанков. Если файл небольшой, то он скачивается одним чанком.

Для получения большого файла из хранилища ЛДМ. Управление файлами чанками необходимо выполнить настройку в конфигурационном файле «LanDocsServerNetcore.dll.config».

Пример:

<!-- Размер блоков для загрузки файлов по частям -->
<add key="UploadPartSize" value="64000">

где:

  • UploadPartSize – размер чанка в байтах.

Если параметр UploadPartSize не задан, то по умолчанию он имеет значение 4 * 1024 * 1024 Б или 4 МБ (при указании размера файлов используются единицы измерения KБ, MБ, ГБ, подразумевающие увеличение в 2^10 раз, 2^20 раз, 2^30 раз соответственно). Данное значение используется для параметров размера чанка на загрузку и размера чанка на скачивание, но при этом данные параметры могут иметь разные значения.

Размер чанка на загрузку равен величине параметра UploadPartSize.

Вычисление размера чанка на скачивание выполняется по следующему алгоритму:

1. Вычислить количество блоков буферной памяти, которая будет использоваться при разбивке файла на части по формуле:

blocks = UploadPartSize/16384

где:

  • UploadPartSize – размер чанка в байтах;

  • 16384 – заданное значение размера блока буферной памяти на Сервере контента в байтах;

  • blocks – количество блоков буферной памяти, которая будет использоваться при разбивке файла на части, определяется как blocks = Max(1, UploadPartSize/16384).

Полученное значение округляется до целого в меньшую сторону. Если результат деления равен 0, то значение blocks принимается равным 1.

2. Размер чанка на скачивание вычисляется по формуле: blocks * 16384

Важно! Если установить слишком маленькое значение размера чанка, то возможно существенное замедление загрузки и скачивания файла в/из Хранилища контента (и, соответственно, из хранилища ЛДМ. Управление файлами).

Для того чтобы установить одинаковые размеры чанков на загрузку и на скачивание, необходимо чтобы параметр UploadPartSize был кратен величине 16384. Для простоты можно не менять значение параметра UploadPartSize, по умолчанию будет использовано значение 4 МБ (при указании размера файлов используются единицы измерения KБ, MБ, ГБ, подразумевающие увеличение в 2^10 раз, 2^20 раз, 2^30 раз соответственно).

Для того чтобы задать разные размеры чанков на загрузку и скачивание, необходимо чтобы параметр UploadPartSize не был кратен величине 16384.

Например:

<add key="UploadPartSize" value="64000"/>

В результате:

  • размер чанка на скачивание будет равен 64000;

  • размер чанка на загрузку будет равен 3 * 16384 = 49152.

Важно! Не рекомендуется устанавливать слишком большой размер чанка, т.к. это может привести к замедлению работы Системы. Для решения данной проблемы необходимо в конфигурационный файл backend добавить следующие значения:

"FileSettings":
{ "ContentServerParallelRequestCount":1, "BufferReadSize":64000 }