Переносим кеш в память

Работа с файлами, которые хранятся в памяти, будет выполняться куда быстрее, чем с файлами, которые расположены на жёстком диске. Для того, что бы перенести данные системы кеширования с диска в память, необходимо сделать следующее…

Переносим кеш сайта на примере WordPress.

Допустим, у нас есть блог на WordPress, в нём установлен плагин кеширования, а сам кеш хранится в директории:

/home/sysadmin/web/sysadmin.pm/public_html/cache

Для увеличения скорости обработки файлов в этой директории, смонтируем её в tmpfs, т. е. по сути перенесём её в память, выделив при этом 1Gb на хранение данных:

# mount -t tmpfs -o size=1G tmpfs /home/sysadmin/web/sysadmin.pm/public_html/cache

Что бы изменения автоматически применялись и при перезагрузке, добавим в fstab следующую строку и сохраним изменения:

tmpfs /home/sysadmin/web/sysadmin.pm/public_html/cache tmpfs defaults,size=1G 0 0

Переносим кеш Nginx.

Проверяем что кеширование у нас настроено, смотрим в какой директории хранятся данные:

# cat /etc/nginx/nginx.conf | grep _cache_path
 proxy_cache_path /var/cache/nginx levels=2 keys_zone=cache:10m inactive=60m max_size=1024m;

Интересующая нас директория — /var/cache/nginx. Открываем fstab, прописываем там точку монтирования, сохраняем изменения, монтируем директорию в память и перезапускаем Nginx:

# cat /etc/fstab | grep nginx
tmpfs /var/cache/nginx tmpfs defaults,size=1G 0 0
# mount -a
# systemctl restart nginx
# df -h | grep nginx
tmpfs 1,0G 0 1,0G 0% /var/cache/nginx

В случае если всё сделано верно, директория будет смонтирована, и кеш веб-сервера будет храниться в ней.

Разумеется для серверов с маленьким количеством памяти вместо 1Гб при монтировании необходимо указывать значение ниже.

@SysadminNotes | https://sysadmin.pm

2 thoughts on “Переносим кеш в память

  1. Это целесообразно для гарантированного выделения требуемого объема памяти под кеш. Вообще в линуксе работает механизм pagecache, и любой файл, с которым нужно работать, предварительно транспортируется в память, если он еще не там.

    На сервере с достаточным объемом памяти кеш почти всегда будет доставаться из пейдж-кеша.

    http://www.linuxatemyram.com/

    1. Справедливое замечание. Но не могу не отметить, что в случае, когда я с подобным столкнулся, вынос кеша в память помог в том числе и снизить нагрузку на дисковую подсистему (SATA, не SSD). Но при этом, под кеш там сразу оказался выделен жирный кусок памяти, куда и поместилось всё то, что отдаётся из кеша посетителям.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *