Параметры СУБД
In this article:
Параметры СУБД#
Для тонкой настройки сервиса БД можно указать конкретные значения параметров, которые будут переданы СУБД во время запуска сервиса и станут частью конфигурации. Помните, что настройки СУБД могут значительно повлиять на производительность сервиса. Если значения не были заданы при создании сервиса БД, будут применены значения Auto.
В веб-интерфейсе приведено большое количества параметров и, возможно, вам придётся прокручивать страницу вверх и вниз, чтобы найти интересующий параметр. В мастере создания сервиса БД вы также можете добавить необходимые параметры и значения самостоятельно, если не нашли интересующие.
Так же, эти параметры могут быть переданы посредством PaaS API в запросе на создание сервиса в параметре parameters.
MySQL#
В подразделе приведены описание и допустимые значения параметров СУБД, а также используемые по умолчанию и Auto. Значения Auto для каждого параметра конфигурации сервиса MySQL подобраны таким образом, чтобы добиться оптимального потребления ресурсов в К2 Облаке.
max_connections#
Максимально допустимое количество одновременных подключений, которые может принять узел MySQL.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
1–100000 |
151 |
МиБ RAM/32, |
max_allowed_packet#
Максимальный размер одного пакета, любой сгенерированной/промежуточной строки или любого параметра, который был отправлен функцией mysql_stmt_send_long_data().
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Да |
Integer |
1024–1073741824 |
16 МиБ (MariaDB) |
N/A |
max_connect_errors#
Максимальное количество ошибок соединения, при котором дальнейшие подключения к узлу блокируются.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
1– |
100 |
N/A |
innodb_buffer_pool_size#
Размер буфера InnoDB в байтах, который используется для кеширования данных таблиц и их индексов. Буфер большого размера позволяет снизить количество операций ввода/вывода при многократном обращении к одним и тем же данным.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
5242880– |
128 МиБ |
50% RAM, если ≤ 4 ГиБ |
innodb_buffer_pool_instances#
Количество частей, на которые будет разделён innodb_buffer_pool_size, если innodb_buffer_pool_size > 1 ГиБ. Деление позволяет более эффективно использовать буфер. Параметр применим к Percona 5.7, 8.0 и MariaDB 10.2, 10.3, 10.4.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
1–64 |
8 или 1, если innodb_buffer_pool_size < 1 ГиБ |
Количество целых ГиБ в innodb_buffer_pool_size, если значение параметра > 1 ГиБ |
innodb_log_file_size#
Размер одного файла в байтах в системном журнале redo. Чем больше значение, тем меньше операций сброса контрольных точек требуется в буферном пуле, что экономит/сокращает дисковый ввод/вывод.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
4 МиБ–512 ГиБ |
96 МиБ (для MariaDB 10.5 и старше) |
(innodb_buffer_pool_size × 25%)/2, но не более 4 ГиБ |
innodb_log_files_in_group#
Количество файлов системного журнала в группе журналов.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
2–100 |
2 |
N/A |
innodb_change_buffering#
Этот параметр управляет кешируемыми данными, оптимизируя задержки операций записи вторичного индекса так, чтобы операции ввода/вывода могли быть выполнены последовательно.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
String |
inserts |
none: ≥ MariaDB 10.5.15, 10.6.7, 10.7.3, 10.8.2; |
N/A |
innodb_io_capacity#
Количество операций ввода/вывода в секунду (IOPS), которое доступно фоновым задачам InnoDB.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
100– |
200 |
N/A |
innodb_io_capacity_max#
Максимальное количество операций ввода/вывода в секунду (IOPS), выполняемых фоновыми задачами InnoDB.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
100– |
max(innodb_io_capacity × 2, 2000) |
N/A |
innodb_purge_threads#
Количество потоков ввода/вывода InnoDB, используемых для операций очистки (purge). Увеличение параметра повышает эффективность систем, где операции с данными выполняются над несколькими таблицами.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
1–32 |
4 |
N/A |
innodb_thread_concurrency#
Максимальное число потоков, которые можно запустить внутри InnoDB. Параметр применим к Percona 5.7, 8.0 и MariaDB 10.2, 10.3, 10.4.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
0–1000 |
0 |
N/A |
innodb_sync_array_size#
Размер массива ожидания mutex/lock. Увеличение параметра повышает уровень параллелизма при большом количестве ожидающих потоков. Параметр применим к Percona 5.7, 8.0 и MariaDB 10.2, 10.3, 10.4, 10.5.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
1–1024 |
1 |
N/A |
innodb_flush_log_at_trx_commit#
Определяет поведение MySQL для операций подтверждения транзакций.
0
— Запись и сброс на диск выполняются раз в секунду. В случае сбоя данные транзакций за последнюю секунду могут быть утеряны.1
(по умолчанию) — Обеспечивается максимальный уровень отказоустойчивости. Запись в файл журнала повторного выполнения InnoDB и сброс на диск выполняются после каждой транзакции.2
— Запись в журнал повторного выполнения InnoDB выполняется после каждой фиксации, но очистка происходит раз в секунду. Отключение ОС или электричества может привести к потере транзакций за последнюю секунду.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
0 |
1 |
N/A |
thread_cache_size#
Количество потоков, которые кешируются для установления новых сетевых соединений.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
0–16384 |
-1 (autosizing) |
N/A |
tmp_table_size#
Максимальный размер временных таблиц в памяти (в байтах). Этот параметр не влияет на MEMORY-таблицы, созданные пользователем.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
1024–4294967295 |
16 МиБ |
N/A |
max_heap_table_size#
Максимальный размер в байтах, которого могут достигать созданные MEMORY-таблицы. Значение параметра используется для вычисления значений MAX_ROWS MEMORY-таблицы.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
16384–4294966272 |
16 МиБ |
N/A |
table_open_cache#
Количество открытых таблиц для всех потоков. Чем больше значения этого параметра, тем больше количество файловых дескрипторов для mysqld.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
1–1048576 |
MariaDB: 2000 |
N/A |
transaction_isolation#
Уровень изоляции транзакции. Подробнее в документации MySQL.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
String |
REPEATABLE-READ |
REPEATABLE-READ |
N/A |
wait_timeout#
Количество секунд, в течение которых сервер ожидает активности в неинтерактивном соединении, прежде чем закрыть его.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Numeric |
1–31536000 |
28800 |
N/A |
connect_timeout#
Количество секунд, в течение которых сервер mysqld ожидает пакет подключения, прежде чем ответить Bad handshake
.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Numeric |
2–31536000 |
10 |
N/A |
pxc_strict_mode#
Режим PXC. Поддерживаемые режимы подробно описаны в документации Percona. Применим только в отказоустойчивой конфигурации и только к percona.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Да, если выбраны режим Отказоустойчивый сервис и вендор percona. |
String |
DISABLED |
ENFORCING |
DISABLED |
innodb_strict_mode#
Режимы работы MySQL. Поддерживаемые режимы подробно описаны в документации MySQL.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Да |
String |
ON |
ON |
OFF |
gcache.size#
Размер хранилища кольцевого буфера Gcache (пространство, которое узел использует для кеширования наборов записей), предварительно выделяемого при запуске.
Параметр Galera. Применим только для отказоустойчивого сервиса.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
134217728–RAM/10 |
N/A |
N/A |
gcs.fc_limit#
Если длина очереди recv больше, чем количество наборов записей, репликация приостанавливается. Количество наборов записей может значительно увеличиваться в конфигурациях ведущий-ведомый. Репликация возобновится в соответствии с настройкой gcs.fc_factor.
Параметр Galera. Применим только для отказоустойчивого сервиса.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
1–2147483647 |
N/A |
N/A |
gcs.fc_factor#
Доля gcs.fc_limit, при которой возобновляется репликация, когда длина очереди recv становится меньше этого значения.
Параметр Galera. Применим только для отказоустойчивого сервиса.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Float |
0.0–1.0 |
N/A |
N/A |
gcs.fc_master_slave#
Эта переменная указывает, есть ли в кластере только один исходный узел.
От этого зависит, пересчитывается ли параметр gcs.fc_limit динамически (когда false
) или нет (когда true
).
Устаревший параметр. Применим к Percona 5.7, MySQL 5.7 и MariaDB 10.2 и 10.3.
Параметр Galera. Применим только для отказоустойчивого сервиса.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Boolean |
true |
N/A |
N/A |
gcs.fc_single_primary#
Указывает на наличие более одного источника репликации.
С ростом количества узлов в кластере динамически увеличивается значение gcs.fc_limit.
В то же время увеличивается и количество операций записи с узлов.
Когда этот параметр имеет значение false
(ведущих узлов несколько), параметр gcs.fc_limit динамически изменяется.
Это даёт каждому узлу дополнительный запас, чтобы он мог применять операции записи с некоторой задержкой.
Параметр gcs.fc_limit изменяется как квадратный корень от размера кластера, т.е. в кластере из четырёх узлов он в два раза выше базового значения.
Это сделано для компенсации помех при увеличении частоты репликации.
Параметр заменяет устаревший параметр gcs.fc_master_slave и применим к Percona 8.0, MySQL 8.0 и MariaDB 10.4, 10.5, 10.6 и 10.7.
Параметр Galera. Применим только для отказоустойчивого сервиса.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Boolean |
true |
N/A |
N/A |
Redis#
В подразделе приведено описание и допустимые значения параметров конфигурации сервиса Redis.
databases#
Количество баз данных (не актуально для отказоустойчивых сервисов).
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
1–2147483647 |
16 |
N/A |
maxmemory#
Максимальный размер оперативной памяти, который будет выделен для пользовательских данных на узлах кластера.
Примечание
Значение RAM_LIMIT задаётся в МиБ и равно величине RAM минус 3072 МиБ (3 ГиБ).
Необходимо |
Тип данных |
Допустимые значения, МиБ |
По умолчанию |
Auto, МиБ |
---|---|---|---|---|
Нет |
String |
0–RAM_LIMIT |
N/A |
RAM_LIMIT*80% – для конфигураций с одним узлом, Sentinel и классического кластера с 6 узлами |
maxmemory-policy#
Режим управления памятью при её дефиците.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
String |
noeviction |
noeviction |
N/A |
Режимы параметра описаны здесь.
timeout#
Время в секундах, в течение которого поддерживается соединение с неактивными клиентами.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
0–2147483647 |
0 |
N/A |
tcp-backlog#
Размер очереди соединений.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
1–4096 |
511 |
N/A |
tcp-keepalive#
Параметр для обнаружения клиентов, до которых нет доступа, даже если они идентифицируются как подключённые.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
Неотрицательные |
300 |
N/A |
Параметр описан в документации Redis.
PostgreSQL#
В подразделе приведено описание и допустимые значения параметров СУБД, а также используемые по умолчанию и Auto. Значения Auto для каждого параметра конфигурации сервиса PostgreSQL подобраны таким образом, чтобы потребление ресурсов в К2 Облаке было оптимальным.
Подробное описание параметров можно найти в документации PostgreSQL.
autovacuum#
Параметр, который управляет состоянием демона, запускающего автоочистку.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
String |
ON/OFF |
ON |
N/A |
autovacuum_max_workers#
Максимальное число процессов автоочистки, которые могут выполняться одновременно (не считая процесс, запускающий автоочистку).
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
1–262143 |
3 |
= vCPU, min 3 |
autovacuum_vacuum_cost_delay#
Задержка в миллисекундах при превышении предела стоимости, которая будет применяться при автоматических операциях VACUUM
.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
-1 |
20 (вер. 10-11) |
N/A |
autovacuum_vacuum_cost_limit#
Предел, который учитывается при автоматических операциях VACUUM
.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
-1 |
-1 |
N/A |
autovacuum_analyze_scale_factor#
Процент от размера таблицы, который будет добавляться к autovacuum_analyze_threshold при выборе порога срабатывания команды ANALYZE
.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Float |
0–100 |
0.1 |
N/A |
autovacuum_vacuum_scale_factor#
Процент от размера таблицы, который будет добавляться к autovacuum_vacuum_threshold
при выборе порога срабатывания команды VACUUM
.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Float |
0–100 |
0.2 |
N/A |
default_pool_size#
Размер пула открытых подключений к базам данных (PgBouncer).
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
---|---|---|---|
Нет |
Integer |
1–200 |
20 |
max_connections#
Максимальное число одновременных подключений к серверу БД.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
1–262143 |
100 |
200 × vCPU |
wal_keep_segments#
Минимальное число файлов имеющихся сегментов журнала, которые будут сохраняться в каталоге pg_xlog, чтобы сервер мог выбрать их при потоковой репликации. Параметр актуален только для следующих версий PostgreSQL: 10, 11, 12.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
0–2147483647 |
0 |
4 |
min_wal_size#
Пока WAL занимает на диске меньше этого объёма в байтах, старые файлы WAL в контрольных точках всегда повторно используются, а не удаляются.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
32–2147483647 МиБ |
80 МиБ |
5% диска, |
max_wal_size#
Максимальный размер в байтах, до которого может вырастать WAL во время автоматических контрольных точек.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
2–2147483647 МиБ |
1 ГиБ |
10% диска, |
wal_buffers#
Объём разделяемой памяти, который будет использоваться для буферизации данных WAL, ещё не записанных на диск. Указывается в виде целого числа, означающего количество юнитов размером 8 КиБ.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
8–262143 |
1/32 shared buffers, не менее 8 (64 КиБ), но не более размера одного сегмента WAL |
N/A |
effective_cache_size#
Параметр, на основании которого планировщик оценивает эффективный размер дискового кеша, доступного для одного запроса. Подробнее здесь.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
1–2147483647 |
524288 |
N/A |
work_mem#
Объём памяти в байтах, который будет использоваться для внутренних операций сортировки и хеш-таблиц, прежде чем будут задействованы временные файлы на диске.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
64–2147483647 КиБ |
4 МиБ |
N/A |
maintenance_work_mem#
Максимальный объём памяти в байтах для операций обслуживания БД (VACUUM
, CREATE INDEX
и ALTER TABLE ADD FOREIGN KEY
).
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
1 МиБ–2 ГиБ |
64 МиБ |
N/A |
effective_io_concurrency#
Допустимое количество параллельных операций ввода/вывода.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
0–1000 |
1 |
N/A |
max_worker_processes#
Максимальное количество фоновых процессов, которое можно запустить в текущей системе.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
0–262143 |
8 |
= vCPU |
max_parallel_workers_per_gather#
Максимальное количество рабочих процессов, которые могут запускаться одним узлом Gather. Параллельные рабочие процессы берутся из пула процессов, контролируемого параметром max_worker_processes.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
0–1024 |
2 |
vCPU/2 |
max_parallel_maintenance_workers#
Максимальное количество рабочих процессов, которые могут запускаться одной служебной командой. Параметр актуален только для PostgreSQL, начиная с версии 11 и выше.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
0–1024 |
2 |
vCPU/2 |
max_parallel_workers#
Максимальное количество рабочих процессов, которое система сможет поддерживать для параллельных запросов.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
Auto |
---|---|---|---|---|
Нет |
Integer |
0–1024 |
8 |
= vCPU |
max_client_conn#
Максимально допустимое количество клиентских подключений к PgBouncer.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
---|---|---|---|
Нет |
Integer |
1–1000 |
100 |
pool_mode#
Режим работы PgBouncer.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
---|---|---|---|
Нет |
String |
session |
session |
MongoDB#
В подразделе приведены описание и допустимые значения параметров СУБД.
net.maxIncomingConnections#
Максимально допустимое количество одновременных подключений, которые могут принять mongos или mongod.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
---|---|---|---|
Нет |
Integer |
10–51200 |
51200 |
operationProfiling.mode#
Указывает, какие операции следует профилировать.
Режим работы профилировщика СУБД:
off
— профилирование выключено;slowOp
(по умолчанию) — информация собирается только о медленных операциях, длительность которых превышает порог, заданный operationProfiling.slowOpThresholdMs;all
— информация собирается обо всех операциях.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
---|---|---|---|
Нет |
String |
off |
slowOp |
operationProfiling.slowOpThresholdMs#
Время выполнения операции в миллисекундах, при превышении которого операция считается медленной.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
---|---|---|---|
Нет |
Integer |
0–36000000 |
100 |
systemLog.quiet#
Тихий режим работы mongos или mongod, который используется для ограничения объёма вывода.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
---|---|---|---|
Нет |
Boolean |
true |
false |
systemLog.verbosity#
Уровень детализации сообщений в журнале сообщений. Подробнее в документации MongoDB.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
---|---|---|---|
Нет |
String |
v |
0 |
storage.journal.commitIntervalMs#
Максимальное время между сохранениями данных журнала в миллисекундах.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
---|---|---|---|
Нет |
Integer |
1–500 |
100 |
storage.wiredTiger.engineConfig.cacheSizeGB#
Максимальный размер внутреннего кеша в гибибайтах, который будет использоваться для хранения всех данных. Подробнее о параметре.
Необходимо |
Тип данных |
Допустимые значения |
По умолчанию |
---|---|---|---|
Нет |
Float |
0,25–100000 ГиБ |
(RAM — 1 ГиБ)/2 или |