Параметры сервера в Базе данных 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.