Улучшение производительности сайта: перемещение MySQL в tmpfs
Один из простых способов улучшения производительности вашего сайта, который в большинстве случаев может значительно ускорить его работу, - это перемещение временных файлов MySQL на RAM-диск. Это позволит MySQL выполнять операции с временными таблицами в оперативной памяти вместо жесткого диска, что сделает работу MySQL более быстрой.
Настройка выполняется следующим образом:
- Создайте каталог для хранения временных файлов, например, /var/lib/mysql/tmp:
mkdir /var/lib/mysql/tmp
- Измените владельца каталога и группу на mysql:
chown mysql:mysql /var/lib/mysql/tmp
- Определите идентификатор пользователя (uid) и группы (gid) MySQL:
id mysql
- Откройте файл /etc/fstab:
nano /etc/fstab
Добавьте следующую строку, указав полученные значения uid и gid:
tmpfs /var/lib/mysql/tmp tmpfs rw,gid=27,uid=27,size=1G,nr_inodes=10k,mode=0700 0 0
В параметре size укажите объем памяти, выделенный для временных файлов MySQL. Рекомендуется выбирать его исходя из доступного объема оперативной памяти на сервере.
- Примонтируйте новый tmpfs-раздел:
mount /var/lib/mysql/tmp
- Откройте файл конфигурации MySQL /etc/mysql/my.cnf(если вы используете BitrixVM, обратите внимание, что путь к файлу конфигурации может отличаться):
nano /etc/mysql/my.cnf/
# Для BitrixVM:
nano /etc/mysql/conf.d/bvat.cnf
Добавьте следующую строку:
tmpdir=/var/lib/mysql/tmp
- Перезапустите MySQL:
systemctl restart mysqld