4.2.1.2.1.4.2. Размер дискового пространства

 

Размер кэша

 
Параметр: 4x/cache/max_size в файле local.jsonc.

В явном виде значение параметра не требуется настраивать в зависимости от числа сохраняемых сигналов. В тестах с интенсивным чтением и записью миллиона сигналов хватало значения по умолчанию: 128 МБ.
 
В формате 3х за это отвечал атрибут MaxPoolMemorySize.
 
В базе данных формата 4х кэш используется только для работы с дисковыми данными.
 
Общая рекомендация: чем больше размер кэша, тем больше свежих и часто запрашиваемых данных будет находиться в кэше, что положительно повлияет на чтение данных (меньше данных необходимо читать с диска).

Размер хранимого блока

 
Параметр: 4x/data/write/chunk_size в файле local.jsonc.
 
Влияет на:
Производительность чтения (больше – лучше): чем больше значение параметра, тем более крупные крупные регионы кластеризованных данных образуются.
Потребление оперативной памяти блоком кластеризации: для каждой секции ключей (32768 сигналов) в оперативной памяти формируется отдельный блок.
 
Верхнюю границу потребления оперативной памяти блоком кластеризации можно оценить по формуле:
 Vmax = (Items / 32 768) * C * 1.5
 где:
Items - число сигналов
32768 - количество сигналов в секции ключей (данный размер пока что "зашит" и не изменяется)
C - значение параметра 4x/data/write/chunk_size
1.5 - коэффициент учёта одновременного существования завершённого (сохраняемого на диск) и нового блока для секции ключей.
 
Значение 1.5 получено в тестах с интенсивным чтением и записью, так чтобы блоки накапливались быстро. Фактическое значение будет меньше, т.к. одновременно в оперативной памяти завершенный и новый блоки существуют недолго: пока завершенный блок сохраняется на диск.
 

Пример

Для миллиона сигналов при размере блока 128 МБ, блоку кластеризации потребуется оперативной памяти:
 Vmax = (1 000 000 / 32 768) * 128МБ * 1.5 ≈ 6ГБ