Tmpdir выносим в RAM

Случаются запросы к MySQL, которые превышают установленное значение max_allowed_packet. В следствии что в /tmp начинает создаваться временный файл. Это плохо в том случае если таких запросов сможет быть много, из-за чего повышается нагрузка на винчестер и на сервер в целом. Дабы немного убавить нагрузку на винчестер, дабы не отвлекать винт лишний раз, можно поместить tmpdir в оперативке.

Для этого проделаем следующие действия:

mkdir /mysqltmp
chown mysql:mysql /mysqltmp
id mysql
vi /etc/fstab

Замечание: использовать uid и gid полученный от команды выше.

Редактируем /etc/fstab. Добавляем такую строчку:

tmpfs /mysqltmp tmpfs rw,uid=102,gid=105,size=2G,nr_inodes=10k,mode=0700 0 0

size=2G — задается условно установленного объема RAM. К примеру, если на сервере есть 16Gb, можно задать 2G. Объем все одинаково не резервируется, при надобности освобождаются кеши из памяти.

Читайте также:  Мониторинг эффективности стека LEMP с использованием Nginx Amplify на Ubuntu 20.04 и 18.04

mount /mysqltmp
vi /etc/my.cnf или же /var/lib/mysql/my.cnf

Примечание: Приплюсовать в файл после [mysqld]

tmpdir=/mysqltmp/
service mysql restart