Описание
Содержит сведения обо всех настройках файлового кэшаСтолбцы
cache_name(String) — Имя кэшаpath(String) — Путь к каталогу кэшаmax_size(UInt64) — Максимальный размер кэшаmax_elements(UInt64) — Максимальное количество элементов кэша, например сегментов файла (ограничивает количество файлов в файловой системе)max_file_segment_size(UInt64) — Максимальный размер одного сегмента файлаboundary_alignment(UInt64) — Выравнивание сегмента файлаreserve_granularity(UInt64) — Максимальный объём, резервируемый сверх уже загруженной части сегмента файла, чтобы реже захватывать блокировку кэша. Для каждого читателя/писателя начинается с 0 и растёт с каждым его повторным резервированием вплоть до этого значения. Значение 0 отключает предварительное резервирование.cache_on_write_operations(UInt8) — Включает сквозное кэширование при записи (кэширование при INSERT и MERGE)cache_policy(String) — Политика вытеснения кэшаslru_size_ratio(Float64) — Отношение размеров защищённых и probationary-элементов в политике кэша SLRUbackground_download_threads(UInt64) — Количество потоков фоновой загрузки. Значение 0 отключает фоновую загрузкуbackground_download_queue_size_limit(UInt64) — Максимальное количество сегментов файла в очереди фоновой загрузки. Значение 0 означает отсутствие ограничения. Фоновая загрузка отключена, если background_download_threads равно 0background_download_max_file_segment_size(UInt64) — Порог предварительной загрузки (с округлением по выравниванию) для уже начатого сегмента; это не ограничение общего размера сегмента. Пока загруженный объём меньше этого значения, фоновая загрузка дозагружает сегмент до этого значения, округлённого вверх до boundary_alignment. Когда downloaded_size достигает порога, фоновая загрузка продолжается до downloaded_size, округлённого вверх до boundary_alignmentload_metadata_threads(UInt64) — Максимальное количество потоков, используемых для загрузки метаданных кэша при запуске сервераload_metadata_asynchronously(UInt8) — Включает асинхронную загрузку метаданных при запуске сервераkeep_free_space_size_ratio(Float64) — Доля свободного пространства, которую кэш будет пытаться поддерживать в фоновом режимеkeep_free_space_elements_ratio(Float64) — Доля свободных элементов, которую кэш будет пытаться поддерживать в фоновом режимеkeep_free_space_remove_batch(UInt64) — Размер батча удаления элементов кэша, выполняемого фоновым потоком для поддержания доли свободного пространства/элементовkeep_free_space_eviction_threads(UInt64) — Количество потоков, выполняющих фактическое удаление сегментов файла (из файловой системы) для фонового поддержания доли свободного пространства/элементов. Один фоновый поток собирает кандидатов на вытеснение и удаляет их из очереди с приоритетом, а эти потоки параллельно выполняют удаление без блокировокinvalidated_entries_cleanup_interval_ms(UInt64) — Интервал бездействия в миллисекундах для фоновой задачи, которая очищает помеченные недействительными (лениво удалённые) элементы очереди с приоритетомinvalidated_entries_cleanup_threshold(UInt64) — Количество накопленных помеченных недействительными элементов очереди с приоритетом, при котором запускается их фоновое удалениеinvalidated_entries_cleanup_remove_batch(UInt64) — Максимальное количество помеченных недействительными элементов очереди с приоритетом, удаляемых под одной блокировкой записи за одну фоновую итерациюenable_filesystem_query_cache_limit(UInt8) — Включает ограничение максимального размера кэша, который может быть записан в рамках одного запросаcache_hits_threshold(UInt64) — Устаревшая настройкаenable_bypass_cache_with_threshold(UInt8) — Не документировано. Не рекомендуется к использованиюbypass_cache_threshold(UInt64) — Не документировано. Не рекомендуется к использованиюwrite_cache_per_user_id_directory(UInt8) — Устаревшая настройка, игнорируется. Теперь поведение определяется автоматически на основе политики кэшаallow_dynamic_cache_resize(UInt8) — Разрешает динамически изменять размер файлового кэшаdynamic_resize_lock_wait_ms(UInt64) — Тайм-аут в миллисекундах на получение эксклюзивной блокировки для динамического изменения размера; по его истечении попытка изменения размера пропускаетсяmax_size_ratio_to_total_space(Float64) — Отношениеmax_sizeк общему объему дискового пространстваskip_cache_on_disk_failure(UInt8) — Если true, при ошибках дискового IO операции файлового кэша будут молча пропускаться. Если false (по умолчанию), ошибки дискового IO приводят к ошибкам запуска.use_split_cache(UInt8) — Использовать разделение файлов на system/data.split_cache_ratio(Float64) — Отношение системного сегмента к общему размеру кэша для split_cache.system_cache_extensions(String) — Список расширений файлов, разделённых запятыми, которые при включённомuse_split_cacheклассифицируются как сегменты системного кэша. При изменении настройки существующие записи кэша сохраняют прежний тип сегмента и со временем вытесняются естественным образом. Для изменения этой настройки требуется перезапуск.overcommit_eviction_evict_step(UInt64) — Шаг вытеснения в байтах для политики overcommit eviction. Используется для настроек keep_free_space_*_ratiocheck_cache_probability(Float64) — Работает только в debug- или sanitizer-сборке. Проверяет корректность кэша, проходя по всему кэшу и проверяя состояние каждого его элементаidle_client_ttl_sec(UInt64) — Если значение не равно нулю и политика кэша отслеживает использование каждого клиента, все записи кэша, принадлежащие клиенту (user_id), к которому не обращались в течение указанного количества секунд, полностью удаляются из кэша. Каждое обращение клиента обновляет таймер. По умолчанию — 1 неделя. Используется сервером распределенного кэша.idle_client_check_interval_sec(UInt64) — Частота выполнения задачи вытеснения бездействующих клиентов в секундах. Имеет смысл, только еслиidle_client_ttl_secне равен нулю. 0 означает автоматическое значение (max(1, idle_client_ttl_sec / 10)).idle_client_eviction_threads(UInt64) — Максимальное количество потоков, используемых для очистки кэша бездействующих клиентов. Имеет смысл, только еслиidle_client_ttl_secне равен нулю.expose_prometheus_eviction_metrics(UInt8) — Публиковать метрики Prometheus для активности вытеснения файлового кэша (filesystem_cache_evictions_totalи т. д.). По умолчанию выключено. Может переключаться во время выполнения черезSYSTEM RELOAD CONFIG.expose_prometheus_eviction_metrics_per_user(UInt8) — Дополнительно публиковать метрики вытеснения для каждого user-id. Требуетexpose_prometheus_eviction_metrics. Мощность растет с числом различных пользователей, выполняющих вытеснение.drop_cache_threads(UInt64) — Максимальное количество потоков, используемых для параллельного удаления ключей кэша приSYSTEM DROP FILESYSTEM CACHE. Значение 1 означает, что удаление выполняется только потоком запросаis_initialized(UInt8) — Указывает, был ли кэш успешно инициализированcurrent_size(UInt64) — Текущий размер кэшаcurrent_elements_num(UInt64) — Текущее количество элементов кэша (сегментов файла)