Настройка MariaDB для оптимальной производительности
Эта статья поможет вам настроить MariaDB для оптимальной производительности.
Обратите внимание, что по умолчанию MariaDB настроена для работы на настольной системе и, следовательно, не должна сильно потреблять ресурсов. Чтобы заставить её работать на выделенном сервере, необходимо выполнить несколько действий.
В этой статье предполагается, что вы собираетесь запускать MariaDB на выделенном сервере.
Не стесняйтесь обновлять эту статью, если у вас есть дополнительные идеи.
Файлы my.cnf
MariaDB обычно настраивается путём редактирования файла my.cnf.
Следующие примеры файлов my.cnf были включены с MariaDB до версии MariaDB 10.3.0. Если они присутствуют, вы можете изучить их, чтобы увидеть более полные примеры различных способов настройки MariaDB и использовать наиболее подходящий для вас в качестве основы. Обратите внимание, что эти файлы сейчас довольно устарели, поэтому то, что было важным несколько лет назад, возможно, сейчас уже не так критично.
- my-small.cnf
- my-medium.cnf
- my-large.cnf
- my-huge.cnf
InnoDB СУБД
InnoDB обычно является стандартной СУБД по умолчанию для MariaDB.
- Вы должны установить innodb_buffer_pool_size примерно на 80% от вашего объема оперативной памяти. Цель состоит в том, чтобы гарантировать, что 80% вашего рабочего набора хранится в памяти.
Другие наиболее важные переменные InnoDB:
Некоторые другие важные переменные InnoDB:
- innodb_adaptive_max_sleep_delay
- innodb_buffer_pool_instances
- innodb_max_dirty_pages_pct_lwm
- innodb_read_ahead_threshold
- innodb_thread_concurrency
Aria СУБД
- MariaDB по умолчанию использует СУБД Aria для внутренних временных файлов. Если у вас много временных файлов, вы должны установить aria_pagecache_buffer_size на разумно большое значение, чтобы данные временного переполнения не записывались на диск. Значение по умолчанию равно 128Мб.
MyISAM
- Если вы не используете таблицы MyISAM явно (что актуально для большинства пользователей MariaDB 10.4+), вы можете установить key_buffer_size на очень низкое значение, например, 64К.
Множество подключений
Множество быстрых подключений + небольшой набор запросов + разрывы
- Если у вас множество быстрых подключений/отключений, следует увеличить back_log, а если вы используете MariaDB 10.1 или ниже, то thread_cache_size.
- Если у вас много (более 128) одновременных быстрых запросов, следует рассмотреть возможность установки thread_handling на значение
pool_of_threads.
Подключение с большого количества различных машин
- Если вы подключаетесь с большого количества различных машин, следует увеличить host_cache_size до максимального количества машин (по умолчанию 128) для кэширования разрешения имён хостов. Если вы подключаетесь с небольшого количества машин, это значение можно установить на очень низкое!
См. также
- Распределение памяти в MariaDB
- Полный список параметров MariaDB, системных и статусных переменных
- Системные переменные сервера
- Параметры mysqld
- Performance schema поможет вам понять, что занимает много времени и ресурсов.
- Журнал медленных запросов используется для поиска запросов, которые выполняются медленно.
- OPTIMIZE TABLE помогает дефрагментировать таблицы.
Внешние ссылки
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/configuring-mariadb-for-optimal-performance/