Настройка Linux для MariaDB
Настройки ядра Linux
Планировщик ввода-вывода
Для оптимальной производительности ввода-вывода при работе с базой данных используется планировщик none (ранее назывался noop). Рекомендуемые планировщики — none и mq-deadline (ранее назывался deadline). Вы можете проверить текущую настройку планировщика с помощью:
cat /sys/block/${DEVICE}/queue/scheduler
Например, вывод должен выглядеть так:
cat /sys/block/vdb/queue/scheduler [none] mq-deadline kyber bfq
В более старых ядрах вывод может выглядеть так:
cat /sys/block/sda/queue/scheduler [noop] deadline cfq
Запись нового имени планировщика в тот же узел /sys изменит планировщик:
echo mq-deadline > /sys/block/vdb/queue/scheduler
Влияние планировщиков существенно зависит от рабочей нагрузки и аппаратного обеспечения. Вы можете измерить задержку ввода-вывода с помощью скрипта biolatency из bcc-tools (biolatency), стремясь к минимально возможному среднему значению.
Пределы ресурсов
Настройка предела открытых файлов
По умолчанию система ограничивает количество открытых дескрипторов файлов, которые может одновременно иметь открытыми процесс. Существуют как мягкое, так и жёсткое ограничение. На многих системах по умолчанию и мягкое, и жёсткое ограничение равны 1024. На активном сервере базы данных очень легко превысить 1024 открытых дескриптора файлов. Поэтому, возможно, потребуется увеличить мягкое и жёсткое ограничения. Существует несколько способов сделать это.
Если вы используете mysqld_safe для запуска mysqld, см. инструкции в mysqld_safe: Настройка предела открытых файлов.
Если вы используете systemd для запуска mysqld, см. инструкции в systemd: Настройка предела открытых файлов.
В противном случае, вы можете установить мягкое и жёсткое ограничения для учетной записи пользователя mysql путём добавления следующих строк в /etc/security/limits.conf:
mysql soft nofile 65535 mysql hard nofile 65535
После перезагрузки системы пользователь mysql должен использовать новые ограничения, а вывод его ulimit должен выглядеть следующим образом:
$ ulimit -Sn 65535 $ ulimit -Hn 65535
Настройка размера файлов core
По умолчанию система ограничивает размер файлов core, которые могут быть созданы. Существуют как мягкое, так и жёсткое ограничение. На многих системах мягкое ограничение по умолчанию равно 0. Если вы хотите включить дампы core, возможно, потребуется увеличить это значение. Поэтому, возможно, потребуется увеличить мягкое и жёсткое ограничения. Существует несколько способов сделать это.
Если вы используете mysqld_safe для запуска mysqld, см. инструкции в mysqld_safe: Настройка размера файлов core.
Если вы используете systemd для запуска mysqld, см. инструкции в systemd: Настройка размера файлов core.
В противном случае, вы можете установить мягкое и жёсткое ограничения для учетной записи пользователя mysql путём добавления следующих строк в /etc/security/limits.conf:
mysql soft core unlimited mysql hard core unlimited
После перезагрузки системы пользователь mysql должен использовать новые ограничения, а вывод его ulimit должен выглядеть следующим образом:
$ ulimit -Sc unlimited $ ulimit -Hc unlimited
Swappiness
См. настройка swappiness.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/configuring-linux-for-mariadb/