Файл конфигурации¶
Файл конфигурации содержит параметры кластера и инстанса для запуска Picodata.
Назначение файла конфигурации¶
Использование файла конфигурации является дополнительным способом задания параметров кластера и инстанса при запуске Picodata, помимо опций команды picodata run и переменных окружения.
Команда для запуска инстанса Picodata, если файл конфигурации назван
config.yaml
и расположен в директории вызова команды:
picodata run
Команда для запуска инстанса Picodata в остальных случаях:
picodata run --config <PATH>
где <PATH>
— путь к файлу конфигурации в формате YAML.
См. также:
Описание файла конфигурации¶
Результатом выполнения команды picodata config default -o config.yaml
является файл конфигурации Picodata в формате YAML со стандартными
значениями параметров:
cluster:
cluster_id: demo # (4)!
tier:
default:
replication_factor: 1 # (20)!
can_vote: true # (21)!
default_replication_factor: 1 # (8)!
instance:
data_dir: . # (5)!
service_password_file: null # (16)!
instance_id: null # (9)!
replicaset_id: null # (15)!
tier: default # (18)!
failure_domain: {} # (6)!
peer: # (13)!
- localhost:3301
listen: localhost:3301 # (10)!
advertise_address: localhost:3301 # (2)!
http_listen: null # (7)!
admin_socket: ./admin.sock # (1)!
plugin_dir: null # (14)!
audit: null # (3)!
shredding: false # (17)!
log:
level: info # (12)!
destination: null # (11)!
format: plain # (22)!
memtx:
memory: 67108864 # (23)!
checkpoint_count: 2 # (24)!
checkpoint_interval: 3600.0 # (25)!
vinyl:
memory: 134217728 # (26)!
cache: 134217728 # (27)!
iproto:
max_concurrent_messages: 768 # (28)!
pg:
listen: null # (19)!
ssl: false # (29)!
- 🔗 picodata run --admin-sock
- 🔗 picodata run --advertise
- 🔗 picodata run --audit
- 🔗 picodata run --cluster-id
- 🔗 picodata run --data-dir
- 🔗 picodata run --failure-domain
- 🔗 picodata run --http-listen
- 🔗 picodata run --init-replication-factor
- 🔗 picodata run --instance-id
- 🔗 picodata run --listen
- 🔗 picodata run --log
- 🔗 picodata run --log-level
- 🔗 picodata run --peer
- 🔗 picodata run --plugin-dir
- 🔗 picodata run --replicaset-id
- 🔗 picodata run --service-password-file
- 🔗 picodata run --shredding
- 🔗 picodata run --tier
- 🔗 picodata run --pg-listen
- cluster.tier.<tier_name>.replication_factor
- cluster.tier.<tier_name>.can_vote
- instance.log.format
- instance.memtx.memory
- instance.memtx.checkpoint_count
- instance.memtx.checkpoint_interval
- instance.vinyl.memory
- instance.vinyl.cache
- instance.iproto.max_concurrent_messages
- instance.pg.ssl
См. также:
Параметры файла конфигурации¶
cluster.tier.<tier_name>.replication_factor¶
Фактор репликации тира <tier_name>.
Данные:
- Тип: int
- Значение по умолчанию:
1
cluster.tier.<tier_name>.can_vote¶
Признак тира <tier_name>, определяющий возможность инстансов участвовать в голосовании на выборах raft-лидера.
Данные:
- Тип: bool
- Значение по умолчанию:
true
См. также:
instance.log.format¶
Формат отладочного журнала.
Возможные значения: plain
, json
Данные:
- Тип: str
- Значение по умолчанию:
plain
instance.memtx.memory¶
Объем памяти в байтах, выделяемый для хранения кортежей. Когда достигается лимит использования памяти, запросы команд INSERT и UPDATE начинают отклоняться с ошибкой ER_MEMORY_ISSUE. Сервер хранит в выделяемом объеме памяти только кортежи — для хранения индексов и информации о соединениях используется дополнительная память.
Минимальное значение — 33,554,432 байтов (32 МБ)
Данные:
- Тип: int
- Значение по умолчанию:
67108864
(64 МБ)
См. также:
instance.memtx.checkpoint_count¶
Максимальное количество снапшотов, хранящихся в директории memtx_dir.
Если после создания нового снапшота их общее количество превысит значение
этого параметра, старые снапшоты будут удалены. Если значение параметра
равно 0
, старые снапшоты останутся нетронутыми.
Данные:
- Тип: int
- Значение по умолчанию:
2
instance.memtx.checkpoint_interval¶
Период активности службы создания снапшотов (checkpoint daemon) в секундах.
Если значение параметра больше нуля и произошло изменение в базе данных, служба
создания снапшотов периодически вызывает функцию, которая
создает новый снапшот. Если значение параметра равно 0.0
, служба создания
снапшотов отключается.
Данные:
- Тип: float
- Значение по умолчанию:
3600.0
(1 час)
instance.vinyl.memory¶
Максимальное количество оперативной памяти в байтах, которое использует
движок хранения vinyl
.
Данные:
- Тип: int
- Значение по умолчанию:
134217728
(128 МБ)
instance.vinyl.cache¶
Размер кэша в байтах для движка хранения vinyl
.
Данные:
- Тип: int
- Значение по умолчанию:
134217728
(128 МБ)
instance.iproto.max_concurrent_messages¶
Максимальное количество сообщений, которое Picodata обрабатывает параллельно.
Для обработки сообщений Picodata использует файберы. Чтобы загруженность файберов не влияла на производительность всей системы, Picodata ограничивает количество сообщений, обрабатываемых файберами, блокируя некоторые ожидающие запросы.
На мощных системах можно увеличить значение max_concurrent_messages
,
тогда планировщик немедленно начнет обрабатывать ожидающие запросы.
На слабых системах можно уменьшить значение max_concurrent_messages
,
тогда загруженность файберов может снизиться, хотя может потребоваться
некоторое время, пока планировщик дождется завершения уже обрабатываемых
запросов.
Когда количество сообщений достигает max_concurrent_messages
, Picodata
приостанавливает обработку входящих пакетов, пока не обработает предыдущие
сообщения. Это не прямое ограничение количества файберов, обрабатывающих
сетевые сообщения — скорее, это общесистемное ограничение пропускной
способности канала. В свою очередь, это приводит к ограничению количества
входящих сетевых сообщений, которые обрабатывает поток процессора транзакций,
и, как следствие, косвенно влияет на файберы, обрабатывающие сетевые сообщения.
Данные:
- Тип: int
- Значение по умолчанию:
768
instance.pg.ssl¶
Признак использования протокола SSL при подключении к Pgproto.
Если для признака указано значение true
, в рабочей директории
инстанса <DATA_DIR>
должны находиться необходимые
SSL-сертификаты:
server.crt
server.key
Данные:
- Тип: bool
- Значение по умолчанию:
false