> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# настройки сеанса filesystem_cache_*

> Настройки сеанса ClickHouse в автоматически созданной группе filesystem_cache_*.

export const CloudOnlyBadge = () => {
  return <div className="cloudBadge">
            <div className="cloudIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fillRule="evenodd" clipRule="evenodd" d="M5.33395 12.6667H12.3739C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00004 12.3739 8.00004H12.0839V7.33337C12.0839 5.12671 10.2906 3.33337 8.08395 3.33337C6.09928 3.33337 4.45395 4.78537 4.14195 6.68204C2.55728 6.76271 1.29395 8.06204 1.29395 9.66671C1.29395 11.3234 2.63728 12.6667 4.29395 12.6667H5.33395Z" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            {'Только в ClickHouse Cloud'}
        </div>;
};

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["Версия", "Значение по умолчанию", "Комментарий"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        История версий
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Тип</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>По умолчанию</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Изменяется без перезапуска
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Эти настройки доступны в [system.settings](/docs/ru/reference/system-tables/settings) и автоматически генерируются из [исходного кода](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="filesystem_cache_allow_background_download">
  ## filesystem\_cache\_allow\_background\_download
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1"},{"label": "Новая настройка для управления фоновыми загрузками в файловом кэше для каждого запроса."}]}]} />

Разрешает файловому кэшу ставить в очередь фоновые загрузки для данных, считываемых из удалённого хранилища. Отключите, чтобы для текущего запроса/сеанса загрузка выполнялась в основном потоке.

<div id="filesystem_cache_boundary_alignment">
  ## filesystem\_cache\_boundary\_alignment
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.11"},{"label": "0"},{"label": "новая настройка"}]}]} />

Выравнивание границ файлового кэша. Эта настройка применяется только при чтении не с диска (например, для кэша удалённых движков таблиц / табличных функций, но не для конфигурации хранилища таблиц семейства MergeTree). Значение 0 означает отсутствие выравнивания.

<div id="filesystem_cache_enable_background_download_during_fetch">
  ## filesystem\_cache\_enable\_background\_download\_during\_fetch
</div>

<CloudOnlyBadge />

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.11"},{"label": "1"},{"label": "новая настройка"}]}]} />

Действует только в ClickHouse Cloud. Время ожидания при блокировке кэша для резервирования места в файловом кэше

<div id="filesystem_cache_enable_background_download_for_metadata_files_in_packed_storage">
  ## filesystem\_cache\_enable\_background\_download\_for\_metadata\_files\_in\_packed\_storage
</div>

<CloudOnlyBadge />

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.11"},{"label": "1"},{"label": "Новая настройка"}]}]} />

Действует только в ClickHouse Cloud. время ожидания при блокировке кэша для резервирования места в файловом кэше

<div id="filesystem_cache_max_download_size">
  ## filesystem\_cache\_max\_download\_size
</div>

<SettingsInfoBlock type="UInt64" default_value="137438953472" />

Максимальный размер удалённого файлового кэша, который может скачать один запрос

<div id="filesystem_cache_name">
  ## filesystem\_cache\_name
</div>

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": ""},{"label": "Имя файлового кэша для движков таблиц без сохранения состояния или озёр данных"}]}]} />

Имя файлового кэша для движков таблиц без сохранения состояния или озёр данных

<div id="filesystem_cache_prefer_bigger_buffer_size">
  ## filesystem\_cache\_prefer\_bigger\_buffer\_size
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.11"},{"label": "1"},{"label": "новая настройка"}]}]} />

Использовать больший размер буфера, если включен файловый кэш, чтобы избежать записи небольших сегментов файла, которые снижают производительность кэша. Однако включение этой настройки может увеличить использование памяти.

<div id="filesystem_cache_reserve_space_wait_lock_timeout_milliseconds">
  ## filesystem\_cache\_reserve\_space\_wait\_lock\_timeout\_milliseconds
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "1000"},{"label": "Время ожидания при блокировке кэша для резервирования места в файловом кэше"}]}]} />

Время ожидания при блокировке кэша для резервирования места в файловом кэше

<div id="filesystem_cache_segments_batch_size">
  ## filesystem\_cache\_segments\_batch\_size
</div>

<SettingsInfoBlock type="UInt64" default_value="20" />

Максимальный размер одного батча сегментов файла, который буфер чтения может запрашивать из кэша. Слишком низкое значение приведёт к избыточному количеству запросов к кэшу, а слишком большое может замедлить вытеснение из кэша

<div id="filesystem_cache_skip_download_if_exceeds_per_query_cache_write_limit">
  ## filesystem\_cache\_skip\_download\_if\_exceeds\_per\_query\_cache\_write\_limit
</div>

**Псевдонимы**: `skip_download_if_exceeds_query_cache`

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.11"},{"label": "1"},{"label": "Переименование настройки skip_download_if_exceeds_query_cache_limit"}]}]} />

Пропускать загрузку из удалённой файловой системы, если превышен размер кэша запросов

<div id="filesystem_cache_verbose_logging">
  ## filesystem\_cache\_verbose\_logging
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "0"},{"label": "Новая настройка, управляющая сообщениями лога уровня TEST при каждом пополнении буфера чтения файлового кэша, которые ранее выводились безусловно, как только уровень логирования позволял их выводить."}]}]} />

Выводить сообщения лога уровня `TEST` при каждом пополнении буфера файлового кэша (состояние чтения, оставшийся объём данных для чтения, количество прочитанных байтов). Только для отладки: сообщения форматируются один раз для каждого чтения, поэтому включение этой настройки для запроса, выполняющего множество небольших кэшированных чтений, создаёт значительные накладные расходы на логирование. Сообщения всё равно видны только при уровне логирования `test` (см. `send_logs_level`).

<div id="filesystem_cache_wait_for_concurrent_download_timeout_milliseconds">
  ## filesystem\_cache\_wait\_for\_concurrent\_download\_timeout\_milliseconds
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "1000"},{"label": "Новая настройка, ограничивающая время ожидания чтением сегмента файла, загружаемого в файловый кэш параллельным запросом; при тайм-ауте чтение обходит кэш вместо бесконечного ожидания. Предыдущее значение 60000 соответствует прежнему поведению (один полный 60-секундный цикл ожидания загрузчика)."}]}]} />

Максимальное время ожидания сегмента файла, загружаемого в файловый кэш параллельным запросом. При достижении тайм-аута чтение обходит файловый кэш для этого диапазона и считывает данные напрямую из удалённого хранилища, а параллельная загрузка продолжает заполнять кэш. Значение `0` означает не ждать вовсе: немедленно обойти кэш, если нужный диапазон ещё не загружен. Уменьшение этого значения ограничивает tail latency чтений с попаданием в кэш, которые в противном случае ожидали бы загрузки другим запросом, ценой дополнительных запросов к удалённому хранилищу.
