Skip to main content

Описание

Содержит сведения обо всех настройках файлового кэша

Столбцы

  • 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-элементов в политике кэша SLRU
  • background_download_threads (UInt64) — Количество потоков фоновой загрузки. Значение 0 отключает фоновую загрузку
  • background_download_queue_size_limit (UInt64) — Максимальное количество сегментов файла в очереди фоновой загрузки. Значение 0 означает отсутствие ограничения. Фоновая загрузка отключена, если background_download_threads равно 0
  • background_download_max_file_segment_size (UInt64) — Порог предварительной загрузки (с округлением по выравниванию) для уже начатого сегмента; это не ограничение общего размера сегмента. Пока загруженный объём меньше этого значения, фоновая загрузка дозагружает сегмент до этого значения, округлённого вверх до boundary_alignment. Когда downloaded_size достигает порога, фоновая загрузка продолжается до downloaded_size, округлённого вверх до boundary_alignment
  • load_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_*_ratio
  • check_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) — Текущее количество элементов кэша (сегментов файла)