Давайте дружить в Телеграме: рассказываем про новые фичи, общаемся в комментах, прислушиваемся к вашим идеям Подписаться

На главную

61c46507-12c7-4300-a301-bd8bc30c7c19 Инструкции для серверов

Ускорение работы сайта: перенос MySQL в tmpfs

Один из самых несложных способов повышения производительности сайта, который в большинстве случаев позволяет заметно ускорить его работу — это перенос временных файлов MySQL на RAM-диск. Благодаря этому работа с временными таблицами БД будет будет производиться через оперативную память вместо жесткого диска, за счет чего MySQL будет работать быстрее.

Настройка выполняется следующим образом.

  1. Создайте папку для хранения временных файлов, например, /var/lib/mysql/tmp:
mkdir /var/lib/mysql/tmp
  1. Измените владельца папки и группу на mysql:
chown mysql:mysql /var/lib/mysql/tmp
  1. Определите идентификатор пользователя (uid) и группы (gid) MySQL:
id mysql
  1. Откройте файл /etc/fstab:
nano /etc/fstab

Добавьте в него строку с указанием полученных выше значений:

tmpfs /var/lib/mysql/tmp tmpfs rw,gid=27,uid=27,size=1G,nr_inodes=10k,mode=0700 0 0

В параметре size указывается объем памяти, который будет отдан под временные файлы MySQL. Его необходимо установить в зависимости от количества имеющейся оперативной памяти на сервере.

  1. Примонтируйте новый tmpfs-раздел:
mount /var/lib/mysql/tmp
  1. Откройте файл конфигурации MySQL /etc/mysql/my.cnf (если вы используете BitrixVM, обратите внимание, что путь к файлу конфигурации отличается):
nano /etc/mysql/my.cnf/
# Для BitrixVM:
nano /etc/mysql/conf.d/bvat.cnf

 Добавьте в него строку:

tmpdir=/var/lib/mysql/tmp
  1. Перезапустите MySQL:
systemctl restart mysqld

Была ли статья полезна?

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону