Один из самых несложных способов повышения производительности сайта, который в большинстве случаев позволяет заметно ускорить его работу — это перенос временных файлов MySQL на RAM-диск. Благодаря этому работа с временными таблицами БД будет будет производиться через оперативную память вместо жесткого диска, за счет чего 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
Добавьте в него строку с указанием полученных выше значений:
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
В сегмент [mysqld]
(если сегмента нет, добавьте его) добавьте строку:
[mysqld]
tmpdir=/var/lib/mysql/tmp
- Перезапустите MySQL:
systemctl restart mysqld
Была ли статья полезна?
Ваша оценка очень важна
Комментарии
2
Как проверить наличие и работу?
Добрый день!
Чтобы убедиться, что всё настроено правильно, выполните команду:
Должна будет отобразиться строка, похожая на следующую:
Также проверьте значение
tmpdir
в MySQL. Для этого подключитесь к MySQL и выполните команду:Для
tmpdir
должно быть указано значение/var/lib/mysql/tmp
.Чтобы убедиться, что служба MySQL работает, выполните команду:
Состояние службы должно быть
active (running)
, что подтверждает её успешный запуск и работу.