Параметры СУБД#

Для тонкой настройки сервиса БД можно указать конкретные значения параметров, которые будут переданы СУБД во время запуска сервиса и станут частью конфигурации. Помните, что настройки СУБД могут значительно повлиять на производительность сервиса. Если значения не были заданы при создании сервиса БД, будут применены значения Auto.

В веб-интерфейсе приведено большое количества параметров и, возможно, вам придётся прокручивать страницу вверх и вниз, чтобы найти интересующий параметр. В мастере создания сервиса БД вы также можете добавить необходимые параметры и значения самостоятельно, если не нашли интересующие.

Так же, эти параметры могут быть переданы посредством PaaS API в запросе на создание сервиса в параметре parameters.

MySQL#

В подразделе приведены описание и допустимые значения параметров СУБД, а также используемые по умолчанию и Auto. Значения Auto для каждого параметра конфигурации сервиса MySQL подобраны таким образом, чтобы добиться оптимального потребления ресурсов в К2 Облаке.

max_connections#

Максимально допустимое количество одновременных подключений, которые может принять узел MySQL.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

1–100000

151

МиБ RAM/32,
min 151

max_allowed_packet#

Максимальный размер одного пакета, любой сгенерированной/промежуточной строки или любого параметра, который был отправлен функцией mysql_stmt_send_long_data().

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Да

Integer

1024–1073741824

16 МиБ (MariaDB)
64 МиБ (Percona)

N/A

max_connect_errors#

Максимальное количество ошибок соединения, при котором дальнейшие подключения к узлу блокируются.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

1–
18446744073709551615

100

N/A

innodb_buffer_pool_size#

Размер буфера InnoDB в байтах, который используется для кеширования данных таблиц и их индексов. Буфер большого размера позволяет снизить количество операций ввода/вывода при многократном обращении к одним и тем же данным.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

5242880–
9223372036854775807

128 МиБ

50% RAM, если ≤ 4 ГиБ
75% 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 и старше)
48 МиБ (для MariaDB 10.4 и младше)
48 МиБ (для Percona 8)

(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
deletes
purges
changes
all
none

none: ≥ MariaDB 10.5.15, 10.6.7, 10.7.3, 10.8.2;
all: ≤ MariaDB 10.5.14, 10.6.6, 10.7.2, 10.8.1; Percona 8

N/A

innodb_io_capacity#

Количество операций ввода/вывода в секунду (IOPS), которое доступно фоновым задачам InnoDB.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

100–
18446744073709551615

200

N/A

innodb_io_capacity_max#

Максимальное количество операций ввода/вывода в секунду (IOPS), выполняемых фоновыми задачами InnoDB.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

100–
18446744073709551615

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
2

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
Percona 5.7: 2000
Percona 8: 4000

N/A

transaction_isolation#

Уровень изоляции транзакции. Подробнее в документации MySQL.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

String

REPEATABLE-READ
READ-UNCOMMITTED
READ-COMMITTED
SERIALIZABLE

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
PERMISSIVE
ENFORCING
MASTER

ENFORCING

DISABLED

innodb_strict_mode#

Режимы работы MySQL. Поддерживаемые режимы подробно описаны в документации MySQL.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Да

String

ON
OFF

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
false

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
false

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 узлами
RAM_LIMIT*40% – для классического кластера Kubernetes с 3 узлами

maxmemory-policy#

Режим управления памятью при её дефиците.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

String

noeviction
allkeys-lru
allkeys-lfu
volatile-lru
allkeys-random
volatile-ttl
volatile-lfu
volatile-random

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
1–100

20 (вер. 10-11)
2 (вер. 12+)

N/A

autovacuum_vacuum_cost_limit#

Предел, который учитывается при автоматических операциях VACUUM.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

-1
1–10000

-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

shared_buffers#

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

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

16–1073741823

1024

25% RAM

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% диска,
не более 1 ГиБ

max_wal_size#

Максимальный размер в байтах, до которого может вырастать WAL во время автоматических контрольных точек.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Auto

Нет

Integer

2–2147483647 МиБ

1 ГиБ

10% диска,
не более 8 ГиБ

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
transaction
statement

session

MongoDB#

В подразделе приведены описание и допустимые значения параметров СУБД.

net.maxIncomingConnections#

Максимально допустимое количество одновременных подключений, которые могут принять mongos или mongod.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Нет

Integer

10–51200

51200

operationProfiling.mode#

Указывает, какие операции следует профилировать.

Режим работы профилировщика СУБД:

  • off — профилирование выключено;

  • slowOp (по умолчанию) — информация собирается только о медленных операциях, длительность которых превышает порог, заданный operationProfiling.slowOpThresholdMs;

  • all — информация собирается обо всех операциях.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Нет

String

off
slowOp
all

slowOp

operationProfiling.slowOpThresholdMs#

Время выполнения операции в миллисекундах, при превышении которого операция считается медленной.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Нет

Integer

0–36000000

100

systemLog.quiet#

Тихий режим работы mongos или mongod, который используется для ограничения объёма вывода.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Нет

Boolean

true
false

false

systemLog.verbosity#

Уровень детализации сообщений в журнале сообщений. Подробнее в документации MongoDB.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Нет

String

v
vv
vvv
vvvv
vvvvv

0

storage.journal.commitIntervalMs#

Максимальное время между сохранениями данных журнала в миллисекундах.

Необходимо

Тип данных

Допустимые значения

По умолчанию

Нет

Integer

1–500

100

storage.wiredTiger.engineConfig.cacheSizeGB#

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

Необходимо

Тип данных

Допустимые значения

По умолчанию

Нет

Float

0,25–100000 ГиБ

(RAM — 1 ГиБ)/2 или
0,25 ГиБ