TDB Documentation portal logo
Помощь
Обновлена 30 июля 2026 г. в 16:49

Справочник по конфигурации кластера

В этом разделе описаны опции конфигурации, представленные в Tarantool DB.

cluster_federation

Секция cluster_federation задает опции конфигурации кластеров, необходимые для взаимодействия с модулем Tarantool Clusters Federation (TCF). Полный список опций для секции cluster_federation приведен в документации TCF. Задать конфигурацию кластера можно как через yaml-файл, так и в веб-интерфейсе Tarantool DB на вкладке TCF.

Узнать больше про технологические роли, связанные с TCF: tcf-worker, tcf-coordinator, tcf-api.

crud

Секция crud задает опции конфигурации для технологической роли crud. Опции используются для настройки сбора метрик модуля CRUD.

Узнать больше про роль crud: crud-router, crud-storage.

crud.stats

Включить сбор метрик модуля CRUD.

По умолчанию сбор метрик отключен, так как их работа снижает производительность:

  • на 3-10% — при использовании локального драйвера;
  • 5-15% — при использовании драйвера метрик. Этот драйвер используется по умолчанию;
  • до 20% — при использовании метрик, которые содержат квантили.

Тип: boolean

Значение по умолчанию: false

Пример конфигурации

stats: truestats_driver: metricsstats_quantiles: falsestats_quantile_tolerated_error: 0.001stats_quantile_age_buckets_count: 5stats_quantile_max_age_time: 180

crud.stats_driver

Задать драйвер для хранения собранных метрик CRUD. Возможные значения:

  • local — использовать локальный драйвер;
  • metrics-- использовать драйвер метрик.

Тип: string

Значение по умолчанию: 'metrics'

crud.stats_quantiles

Включить квантили метрик. Опция crud.stats_quantiles работает только в том случае, если в опции crud.stats_driver задан драйвер метрик (crud.stats_driver = 'metrics').

Тип: boolean

Значение по умолчанию: false

crud.stats_quantile_age_buckets_count

Количество сегментов квантилей summary. Увеличение значения сглаживает скользящее окно, но потребляет дополнительную память и CPU. Опция crud.stats_quantile_age_buckets_count работает только в том случае, если в опции crud.stats_driver задан драйвер метрик (crud.stats_driver = 'metrics').

Тип: number

Значение по умолчанию: 2

crud.stats_quantile_max_age_time

Время жизни сегмента (bucket) в секундах. Опция crud.stats_quantile_max_age_time работает только в том случае, если в опции crud.stats_driver задан драйвер метрик (crud.stats_driver = 'metrics').

Меньший срок жизни сегмента приводит к меньшему временному окну для квантилей, при этом больше ресурсов CPU используется на ротацию сегментов. Если у вашего приложения низкая частота запросов, увеличьте значение, чтобы уменьшить количество пробелов -nan в значениях квантилей.

Узнать больше про опцию crud.stats_quantile_max_age_time можно в документации Tarantool в разделе Мониторинг.

Тип: number

Значение по умолчанию: 60

crud.stats_quantile_tolerated_error

Задать допустимую погрешность квантиля. Опция stats_quantile_tolerated_error работает только в том случае, если в опции crud.stats_driver задан драйвер метрик (crud.stats_driver = 'metrics').

Узнать больше про опцию crud.stats_quantile_tolerated_error можно в документации Tarantool в разделе Мониторинг.

Тип: number

Значение по умолчанию: 0.001

dictionary

Секция dictionary задает опции конфигурации словарей.

dictionary.batchsize

Размер пакета для обмена между узлами в байтах.

Тип: number

Значение по умолчанию: 400

dictionary.logging

Включить логирование действий со словарями.

Тип: boolean

Значение по умолчанию: false

dictionary.worker_sleep_in_second

Интервал в секундах между опросами соседнего экземпляра на наличие новых данных.

Тип: number

Значение по умолчанию: 3

expirationd

Секция expirationd задает опции конфигурации устаревания данных.

expirationd.<name>

Название задачи по устареванию данных. Обязательный параметр.

Тип: string

Пример конфигурации

Без пользовательской логики

expirationd:  task_name1:    space: test    options:      args:        lifetime_in_seconds: 15        time_create_field: dt

Здесь:

  • task_name1 — название задачи по устареванию данных;
    • space — название спейса, по которому идет поиск устаревших кортежей;
    • options.args — дополнительные опции конфигурации:
      • lifetime_in_seconds — время жизни кортежа в секундах;
      • time_create_field — название поля, по которому проверяется время жизни кортежа.

Узнать больше: Автоматическое удаление устаревших кортежей из спейса.

С пользовательской логикой

expirationd:  messages_expiration:    space: messages    is_expired: messages_is_tuple_expired    is_master_only: true    options:      tuples_per_iteration: 100      iterate_with: messages_iterate_with      process_expired_tuple: messages_process_expired_tuple      args:        seconds: 5

Здесь:

  • messages_expiration — название задачи по устареванию данных;
    • space — название спейса, по которому идет поиск устаревших кортежей;
    • is_expired — название функции, которая получает кортеж и проверяет его срок жизни;
    • is_master_only — проверка устаревших данных запущена только на master-узлах;
    • options — дополнительные опции конфигурации:
      • tuples_per_iteration — количество кортежей, которое проверяется за одну итерацию;
      • iterate_with — название функции, которая получает и обрабатывает устаревшие кортежи;
      • process_expired_tuple — название функции, возвращающей итератор для обхода спейса;
      • args — аргументы, доступные в функциях message_iterate_with и message_process_expired_tuple, seconds -- время жизни кортежа.

Узнать больше: Проверка устаревших кортежей в спейсе с помощью пользовательских функций.

expirationd.<name>.is_expired

Название функции, которая получает кортеж и проверяет его срок жизни. Функция возвращает true, если время жизни кортежа истекло. Обязательный параметр.

Тип: function

expirationd.<name>.is_master_only

Запустить работу с устаревающими кортежами только на master-узлах.

Тип: boolean

Значение по умолчанию: false

expirationd.<name>.space

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

Тип: string или number

expirationd.<name>.options

Дополнительные опции конфигурации.

Тип: table

Значение по умолчанию: {}

expirationd.<name>.options.args

Дополнительные аргументы конфигурации. Доступные аргументы:

Тип: table Значение по умолчанию: {}

expirationd.<name>.options.iterate_with

Название функции, возвращающей итератор для обхода спейса. Если опция не указана, используется функция по умолчанию. Функция по умолчанию возвращает такой итератор, какой возвращается в index_object:pairs().

Тип: function

expirationd.<name>.options.process_expired_tuple

Название функции, которая получает и обрабатывает устаревшие кортежи. Если опция не указана (или указан nil), устаревшие кортежи удаляются.

Тип: function

expirationd.<name>.options.tuples_per_iteration

Количество кортежей, которое проверяется за одну итерацию. В значении опции допустимо передавать номер FFI, например 1LL или 1ULL.

Тип: number

Значение по умолчанию: 1024

slow_log

Секция slow_log задает опции конфигурации журнала медленных запросов.

slow_log.enable

Включить запись в журнал медленных запросов. По умолчанию запись будет включена для запросов через модуль CRUD.

Тип: boolean

Значение по умолчанию: false

slow_log.threshold

Максимальное время выполнения запроса в секундах. При превышении этого значения запрос считается медленным и записывается в журнал.

Тип: number

Значение по умолчанию: 0.5

slow_log.namespaces

Задать функции, для которых будет включено логирование медленных запросов.

Тип: table

Значение по умолчанию: {}

Пример:

slow_log:  enable: true  threshold: 0.01  namespaces:    - "app"

tracing

Секция tracing задает опции конфигурации трассировки.

tracing.enabled

Включить трассировку.

Тип: boolean

Значение по умолчанию: false

tracing.global_sample_rate

Глобальный коэффициент частоты трассировки — трассируется каждый N-й вызов функции. Примеры:

10 — трассируется каждый десятый запрос; 1 — трассируются все запросы; 0 — все запросы не трассируются.

Тип: integer

Значение по умолчанию: 0

tracing.sample_rates

Коэффициенты частоты трассировки для заданных сегментов (spans). Значение опции — это таблица из пар ключ-значение, где

  • ключ — название сегмента;
  • значение — частота трассировки для этого сегмента.

Тип: table

Значение по умолчанию: '{}'

Пример:

sample_rates:    get_user: 1000    get_token: 10000

tracing.base_url

URL-адрес сервера трассировки, куда отправляются данные трассировки.

Тип: string

Значение по умолчанию: 'http://127.0.0.1:9411/api/v2/spans'

tracing.api_method

HTTP-метод, используемый для отправки данных трассировки на сервер. Возможные значения: POST, GET, PUT.

Тип: string

Значение по умолчанию: 'POST'

tracing.report_interval

Интервал в секундах между отправкой на сервер собранных данных о трассировке.

Тип: integer

Значение по умолчанию: 10

tracing.spans_limit

Максимальное количество сегментов (span) трассировки, которые могут быть сохранены локально на экземпляре Tarantool перед отправкой во внешнюю систему хранения результатов трассировки.

Тип: integer

Значение по умолчанию: 1000