Параметры сервера в Базе данных Azure для MariaDB

Важно!

База данных Azure для MariaDB находится на пути выхода на пенсию. Настоятельно рекомендуется выполнить миграцию в База данных Azure для MySQL. Дополнительные сведения о переходе на База данных Azure для MySQL см. в статье "Что происходит с База данных Azure для MariaDB?".

В этой статье приведены советы и рекомендации по настройке параметров сервера в Базе данных Azure для MariaDB.

Что такое параметры сервера?

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

База данных Azure для MariaDB дает возможность менять значения различных параметров сервера MariaDB с помощью портала Azure, Azure CLI и PowerShell в зависимости от особенностей рабочей нагрузки.

Настраиваемые параметры сервера

Список поддерживаемых параметров постоянно растет. Для просмотра полного списка и настройки значений параметров сервера используйте вкладку "Параметры сервера" на портале Azure.

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

log_bin_trust_function_creators

В Базе данных Azure для MariaDB двоичные журналы всегда включены (т. е. включен параметр log_bin). При попытке использовать триггеры появится сообщение об ошибке типа у вас нет привилегии SUPER, и включено ведение двоичного журнала (вы можете использовать менее безопасную переменную log_bin_trust_function_creators).

В качестве формата двоичного журнала всегда выбран вариант ROW, а для всех подключений к серверу двоичные журналы ВСЕГДА ведутся на основе строк. При ведении двоичного журнала на основе строк отсутствуют проблемы безопасности и риск сбоев, поэтому для параметра log_bin_trust_function_creators можно безопасно установить значение ИСТИНА.

innodb_buffer_pool_size

Чтобы узнать больше об этом параметре, ознакомьтесь с документацией по MariaDB.

Серверы, поддерживающие хранилище объемом до 4 ТБ

Ценовая категория Виртуальные ядра Значение по умолчанию (байт) Минимальное значение (байт) Максимальное значение (байт)
Основное 1 872415232 134217728 872415232
Основное 2 2684354560 134217728 2684354560
Общего назначения 2 3758096384 134217728 3758096384
Общего назначения 4 8053063680 134217728 8053063680
Общего назначения 8 16106127360 134217728 16106127360
Общее назначение 16 32749125632 134217728 32749125632
Общее назначение 32 66035122176 134217728 66035122176
Общее назначение 64 132070244352 134217728 132070244352
С оптимизацией для операций в памяти 2 7516192768 134217728 7516192768
С оптимизацией для операций в памяти 4 16106127360 134217728 16106127360
С оптимизацией для операций в памяти 8 32212254720 134217728 32212254720
С оптимизацией для операций в памяти 16 65498251264 134217728 65498251264
С оптимизацией для операций в памяти 32 132070244352 134217728 132070244352

Серверы, поддерживающие хранилище объемом до 16 ТБ

Ценовая категория Виртуальные ядра Значение по умолчанию (байт) Минимальное значение (байт) Максимальное значение (байт)
Основное 1 872415232 134217728 872415232
Основное 2 2684354560 134217728 2684354560
Общего назначения 2 7516192768 134217728 7516192768
Общего назначения 4 16106127360 134217728 16106127360
Общего назначения 8 32212254720 134217728 32212254720
Общее назначение 16 65498251264 134217728 65498251264
Общее назначение 32 132070244352 134217728 132070244352
Общее назначение 64 264140488704 134217728 264140488704
С оптимизацией для операций в памяти 2 15032385536 134217728 15032385536
С оптимизацией для операций в памяти 4 32212254720 134217728 32212254720
С оптимизацией для операций в памяти 8 64424509440 134217728 64424509440
С оптимизацией для операций в памяти 16 130996502528 134217728 130996502528
С оптимизацией для операций в памяти 32 264140488704 134217728 264140488704

innodb_file_per_table

Примечание.

Изменить параметр innodb_file_per_table можно только в ценовых категориях "Общего назначения" и "Оптимизированная для операций в памяти".

MariaDB хранит таблицу InnoDB в разных табличных пространствах в зависимости от конфигурации, указанной при создании таблицы. Табличное пространство системы — это область хранения для словаря данных InnoDB. Табличное пространство file-per-table содержит данные и индексы для одной таблицы InnoDB и хранится в файловой системе в собственном файле данных. Это поведение контролируется серверным параметром innodb_file_per_table. Если задать для innodb_file_per_table значение OFF, InnoDB создаст таблицы в системном табличном пространстве. В противном случае InnoDB создает таблицы в табличных пространствах file-per-table.

База данных Azure для MariaDB поддерживает максимальный размер 1 ТБ для одного файла данных. Если размер базы данных превышает 1 ТБ, следует создать таблицу в табличном пространстве innodb_file_per_table. Если размер одной таблицы превышает 1 ТБ, следует использовать таблицу секционирования.

join_buffer_size

Чтобы узнать больше об этом параметре, ознакомьтесь с документацией по MariaDB.

Ценовая категория Виртуальные ядра Значение по умолчанию (байт) Минимальное значение (байт) Максимальное значение (байт)
Основное 1 Не настраивается на уровне "Базовый" Неприменимо Неприменимо
Основное 2 Не настраивается на уровне "Базовый" Неприменимо Неприменимо
Общего назначения 2 262144 128 268435455
Общего назначения 4 262144 128 536 870 912
Общего назначения 8 262144 128 1073741824
Общее назначение 16 262144 128 2147483648
Общее назначение 32 262144 128 4294967295
Общее назначение 64 262144 128 4294967295
С оптимизацией для операций в памяти 2 262144 128 536 870 912
С оптимизацией для операций в памяти 4 262144 128 1073741824
С оптимизацией для операций в памяти 8 262144 128 2147483648
С оптимизацией для операций в памяти 16 262144 128 4294967295
С оптимизацией для операций в памяти 32 262144 128 4294967295

max_connections

Ценовая категория Виртуальные ядра Значение по умолчанию Минимальное значение Максимальное значение
Основное 1 50 10 50
Основное 2 100 10 100
Общего назначения 2 300 10 600
Общего назначения 4 625 10 1250
Общего назначения 8 1250 10 2500
Общее назначение 16 2500 10 5000
Общее назначение 32 5000 10 10000
Общее назначение 64 10000 10 20000
С оптимизацией для операций в памяти 2 625 10 1250
С оптимизацией для операций в памяти 4 1250 10 2500
С оптимизацией для операций в памяти 8 2500 10 5000
С оптимизацией для операций в памяти 16 5000 10 10000
С оптимизацией для операций в памяти 32 10000 10 20000

При превышении предельного количества подключений может появиться следующая ошибка:

ОШИБКА 1040 (08004): Слишком много подключений

Важно!

Для обеспечения оптимальной работы рекомендуется использовать пул подключений, например ProxySQL, чтобы эффективно управлять подключениями.

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

Примечание.

ProxySQL — это продукт сообщества разработчиков решений с открытым кодом. Это решение по мере возможности поддерживается корпорацией Майкрософт. Чтобы получить помощь и полезные инструкции для своей рабочей среды, вы можете обратиться в службу поддержки продуктов ProxySQL.

max_heap_table_size

Чтобы узнать больше об этом параметре, ознакомьтесь с документацией по MariaDB.

Ценовая категория Виртуальные ядра Значение по умолчанию (байт) Минимальное значение (байт) Максимальное значение (байт)
Основное 1 Не настраивается на уровне "Базовый" Неприменимо Неприменимо
Основное 2 Не настраивается на уровне "Базовый" Неприменимо Неприменимо
Общего назначения 2 16777216 16384 268435455
Общего назначения 4 16777216 16384 536 870 912
Общего назначения 8 16777216 16384 1073741824
Общее назначение 16 16777216 16384 2147483648
Общее назначение 32 16777216 16384 4294967295
Общее назначение 64 16777216 16384 4294967295
С оптимизацией для операций в памяти 2 16777216 16384 536 870 912
С оптимизацией для операций в памяти 4 16777216 16384 1073741824
С оптимизацией для операций в памяти 8 16777216 16384 2147483648
С оптимизацией для операций в памяти 16 16777216 16384 4294967295
С оптимизацией для операций в памяти 32 16777216 16384 4294967295

query_cache_size

Кэш запросов по умолчанию включен в MariaDB с помощью параметра have_query_cache.

Чтобы узнать больше об этом параметре, ознакомьтесь с документацией по MariaDB.

Ценовая категория Виртуальные ядра Значение по умолчанию (байт) Минимальное значение (байт) Максимальное значение (байт)
Основное 1 Не настраивается на уровне "Базовый" Неприменимо Неприменимо
Основное 2 Не настраивается на уровне "Базовый" Неприменимо Неприменимо
Общего назначения 2 0 0 16777216
Общего назначения 4 0 0 33554432
Общего назначения 8 0 0 67108864
Общее назначение 16 0 0 134217728
Общее назначение 32 0 0 134217728
Общее назначение 64 0 0 134217728
С оптимизацией для операций в памяти 2 0 0 33554432
С оптимизацией для операций в памяти 4 0 0 67108864
С оптимизацией для операций в памяти 8 0 0 134217728
С оптимизацией для операций в памяти 16 0 0 134217728
С оптимизацией для операций в памяти 32 0 0 134217728

sort_buffer_size

Чтобы узнать больше об этом параметре, ознакомьтесь с документацией по MariaDB.

Ценовая категория Виртуальные ядра Значение по умолчанию (байт) Минимальное значение (байт) Максимальное значение (байт)
Основное 1 Не настраивается на уровне "Базовый" Неприменимо Неприменимо
Основное 2 Не настраивается на уровне "Базовый" Неприменимо Неприменимо
Общего назначения 2 524288 32768 4194304
Общего назначения 4 524288 32768 8388608
Общего назначения 8 524288 32768 16777216
Общее назначение 16 524288 32768 33554432
Общее назначение 32 524288 32768 33554432
Общее назначение 64 524288 32768 33554432
С оптимизацией для операций в памяти 2 524288 32768 8388608
С оптимизацией для операций в памяти 4 524288 32768 16777216
С оптимизацией для операций в памяти 8 524288 32768 33554432
С оптимизацией для операций в памяти 16 524288 32768 33554432
С оптимизацией для операций в памяти 32 524288 32768 33554432

tmp_table_size

Чтобы узнать больше об этом параметре, ознакомьтесь с документацией по MariaDB.

Ценовая категория Виртуальные ядра Значение по умолчанию (байт) Минимальное значение (байт) Максимальное значение (байт)
Основное 1 Не настраивается на уровне "Базовый" Неприменимо Неприменимо
Основное 2 Не настраивается на уровне "Базовый" Неприменимо Неприменимо
Общего назначения 2 16777216 1024 67108864
Общего назначения 4 16777216 1024 134217728
Общего назначения 8 16777216 1024 268435456
Общее назначение 16 16777216 1024 536 870 912
Общее назначение 32 16777216 1024 1073741824
Общее назначение 64 16777216 1024 1073741824
С оптимизацией для операций в памяти 2 16777216 1024 134217728
С оптимизацией для операций в памяти 4 16777216 1024 268435456
С оптимизацией для операций в памяти 8 16777216 1024 536 870 912
С оптимизацией для операций в памяти 16 16777216 1024 1073741824
С оптимизацией для операций в памяти 32 16777216 1024 1073741824

time_zone

После первоначального развертывания Azure для сервера MariaDB включает системные таблицы со сведениями о часовых поясах, но эти таблицы не заполнены. Таблицы часовых поясов можно заполнить, вызвав хранимую процедуру mysql.az_load_timezone с помощью такого инструмента, как командная строка MySQL или MySQL Workbench. Инструкции по вызову хранимой процедуры и настройке часовых поясов глобального времени или уровня сеанса см. в статьях Портал Azure и Интерфейс командной строки Azure.

Ненастраиваемые параметры сервера

Перечисленные ниже параметры сервера нельзя настроить в службе.

Параметр Фиксированное значение
innodb_file_per_table для уровня "Базовый" ВЫКЛ.
innodb_flush_log_at_trx_commit 1
sync_binlog 1
innodb_log_file_size 256 МБ
innodb_log_files_in_group 2

Для остальных параметров сервера, которые не перечислены выше, устанавливаются значения MariaDB по умолчанию для MariaDB.

Следующие шаги