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ГБ
|