Работа с файлами, которые хранятся в памяти, будет выполняться куда быстрее, чем с файлами, которые расположены на жёстком диске. Для того, что бы перенести данные системы кеширования с диска в память, необходимо сделать следующее…
Переносим кеш сайта на примере 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Гб при монтировании необходимо указывать значение ниже.
Это целесообразно для гарантированного выделения требуемого объема памяти под кеш. Вообще в линуксе работает механизм pagecache, и любой файл, с которым нужно работать, предварительно транспортируется в память, если он еще не там.
На сервере с достаточным объемом памяти кеш почти всегда будет доставаться из пейдж-кеша.
http://www.linuxatemyram.com/
Справедливое замечание. Но не могу не отметить, что в случае, когда я с подобным столкнулся, вынос кеша в память помог в том числе и снизить нагрузку на дисковую подсистему (SATA, не SSD). Но при этом, под кеш там сразу оказался выделен жирный кусок памяти, куда и поместилось всё то, что отдаётся из кеша посетителям.