чтение rss ленты

Nulls.su

Здесь обезаельно что то появиться 8)

Ускорение DLE через tmpfs

Ускорение DLE через tmpfs


Автор: MSW
Версия DLE: любая

Tmpfs — временное файловое хранилище во многих Unix-like ОС. Предназначена для монтирования файловой системы, но размещается в ОЗУ вместо ПЗУ.
Статья посвящена методу ускорения работы DLE через tmpfs, в результате переноса директории кеша DLE в оперативную память.
Так как работа с оперативной памяться в разы быстрее чем работа с диском.
Входящие условия:
- выделенный сервер
- ОЗУ >= 1GB
- сайт располагается в директории на сервере: /var/www/site.ru/

В CMS DLE в папке кеша кроме временных файлов также хранятся файлы которые создаются/пересоздаются в процессе сохранения настроек, или выполнения тех или иных действий скрипта. Так как tmpfs является энергозависимой, тоесть при перезагрузке сервера данные которые в ней находятся будут безвозвратно утеряны, то надо както былобы сохранить важные файлы настроек и системного кеша, которые автоматически не создаются, например структура каталогов в папке кеша, категории, группы пользователей и т.д. вот тут на выручку приходит rsync.


Создаём директорию с кешем, которая будет на диске:
mkdir /var/www/cache_site.ru
chmod 777 /var/www/cache_site.ru



Копируем в созданную директорию теккущие данные:
rsync -a /var/www/site.ru/engine/cache/ /var/www/cache_site.ru/



Для синхронизации актуальных данных добавляем в крон сервера
crontab -e

следующую строку:
*/10 * * * *    rsync -rpogt --delete /var/www/site.ru/engine/cache/ /var/www/cache_site.ru/ > /dev/null 2>&1

тут указано - каждые 10 минут синхронизировать данные(рекурсивно, с сохранением привелегий, времени создания) с директории кеша сайта(в оперативке) в директорию на диске.


Также когда сервер будет перезагружен надо смонтировать tmpfs и поместить в неё текущие данные кеша. Для этих целей создаём скрипт:
mcedit /etc/init.d/tmpfs_cache


с содержимым:
#!/bin/bash
mount -t tmpfs -o size=50M tmpfs /var/www/site.ru/engine/cache/
rsync -rpogt /var/www/cache_site.ru/ /var/www/site.ru/engine/cache/

тут size=50M - эо размер монтируемого блока. У меня например больше 25 метров кеш дле не занимает, потому так чтоб с запасом 50 метров вполне хватит.

Делаем файл исполняемым:
chmod +x /etc/init.d/tmpfs_cache



Добавляем в автостарт: (пример для убунту и дебиан, для своей ОС - ищите мануалы каким образом это делается)
update-rc.d tmpfs_cache defaults



Последний этап: запускаем созданный скрипт монтирования раздела оперативной памяти в папку кеша сайта и копирования данных в эту директорию.
/etc/init.d/tmpfs_cache


 
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем
Другие новости по теме:
 (голосов: 1)
  • Просмотров: 1663
  • Комментариев: 0

Комментарии к статье

Если Вам понравилась эта статья или не понравилась напишите об этом в комментариях
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Переместиться наверх

nulls.su

Внимание, вся информация размещена на сайте пользователями, поэтому владельцы сайта не несут ответственности за правдивость, валидность, степень контрафактности. Если вы считаете что информация размещена неправомерно, сообщите пожалуйста в службу поддержки и информация будет незамедлительно удалена. Вся информация размещена на основании соглашения
Шаблон разработан студией CENTROARTS