Эта статья поможет вам настроить 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 или XtraDB
InnoDB или XtraDB обычно являются механизмом хранения по умолчанию для MariaDB.
- Вы должны установить innodb_buffer_pool_size примерно на 80% вашей памяти. Цель состоит в том, чтобы гарантировать, что 80 % вашего рабочего набора находится в памяти!
Другими наиболее важными переменными InnoDB являются:
Некоторые другие важные переменные InnoDB:
- innodb_adaptive_max_sleep_delay
- innodb_buffer_pool_instances
- innodb_buffer_pool_size
- innodb_max_dirty_pages_pct_lwm
- innodb_read_ahead_threshold
- innodb_thread_concurrency
Механизм хранения Арии
- MariaDB по умолчанию использует механизм хранения Aria для внутренних временных файлов. Если у вас много временных файлов, вы должны установить для aria_pagecache_buffer_size достаточно большое значение, чтобы временные данные переполнения не сбрасывались на диск. По умолчанию 128M.
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
- Схема производительности помогает понять, что требует времени и ресурсов.
- Журнал медленных запросов используется для поиска запросов, которые выполняются медленно.
- OPTIMIZE TABLE помогает вам дефрагментировать таблицы.
0 Комментариев