Раздел помощи SpaceWeb

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

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

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

1. Создается папка для хранения временных файлов, например, /var/lib/mysql/tmp:

mkdir /var/lib/mysql/tmp

2. Изменятся владелец папки и группа на mysql:

chown mysql:mysql /var/lib/mysql/tmp

3. Определяется идентификатор пользователя (uid) и группы (gid) MySQL:

id mysql

4. Открывается файл /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. Его необходимо установить в зависимости от количества имеющейся оперативной памяти на сервере.

5. Монтируется новый tmpfs-раздел:

mount /var/lib/mysql/tmp

6. Открывается файл конфигурации MySQL /etc/mysql/my.cnf/

nano /etc/mysql/my.cnf/

Добавляется строка:

tmpdir=/var/lib/mysql/tmp

Перезапускается MySQL:

systemctl restart mysqld