Перейти к содержанию
Форум поддержки пользователей VamShop

6. Перенос места записи кэша и сессий из cache и tmp в другое место.


Рекомендуемые сообщения

1. Для чего?

Распухание количества кэшированных файлов оказывается вовсе не безобидно.

Каждый из них занимает inode, если у вас Linux, это приводит к тому, что запись становится на диск невозможна, при этом свободного простарнства еще гигабайты, а благодаря множеству мелких файлов inodes уже исчерпаны.

Вот такая имеется засада.

Обидно , что системная фича, но узнаешь о ней , когда наступишь на эти грабли.

Вот пишут , что Битрих враз таким способом убивает сервак :(

 Здесь одна из статеек на эту тему http://nagg.ru/2012/05/chto-delat-kogda-zakonchilis-inodes/

Сразу скажу поиск и очистка - геммор неимоверный!

 

2. Способ превентивной борьбы - уменьшить количество мелких файлов непосредственно в файловой системе, выкинув их в память

Если у вас достаточно оперативной памяти на сервере, то можно создать рам диск в оперативной памяти и загнать туда нужное( ненужное).

Как кэш так и сессии не страшно , что будут потеряны при перезагрузке сервера.

3.Способ изготовления ( для Vamshop 1)

Рам диск у меня здесь : /dev/shm/

в

/admin/includes/configure.php

/includes/configure.php

Закомментил имеющееся, создал новую переменную:

//define('SESSION_WRITE_DIRECTORY', DIR_FS_CATALOG . 'tmp/');
define('DIR_FS_SESS_TMP', '/dev/shm/');
define('SESSION_WRITE_DIRECTORY', DIR_FS_SESS_TMP . '/');

в

/includes/application_top.php

/admin/includes/application_top.php

// SQL caching dir
//define('SQL_CACHEDIR', DIR_FS_CATALOG.'cache/');
define('SQL_CACHEDIR', SESSION_WRITE_DIRECTORY.'/');

Сессии и кэш пишутся в рам диск.

 

Для того, чтобы и smarty кэш загнать туда же:

Комментируем и добавляем

в

/includes/classes/vam_template.php

   // $this->compile_dir = DIR_FS_CATALOG . 'cache';
    // $this->cache_dir    = DIR_FS_CATALOG . 'cache';
       $this->compile_dir = DIR_FS_SESS_TMP . '/';
        $this->cache_dir    = DIR_FS_SESS_TMP . '/';

Что получаем?

в

/admin/includes/configure.php

/includes/configure.php

define('DIR_FS_SESS_TMP', '/dev/shm/');
define('SESSION_WRITE_DIRECTORY', DIR_FS_SESS_TMP . '/');

Можем менять путь к месту записи кэша и сессий - это может быть просто папка в любом месте, может быть рам диск или дополнительный диск вашего сервера .

 

define('DIR_FS_SESS_TMP', '/NEW_CACHE_SESS_DIR/');

 

То есть меняя путь к папке кэша , мы можем управлять расположением и сессий и кэша магазина, перемещая его по всему серваку.

Ссылка на сообщение
Поделиться на другие сайты
  • 4 weeks later...

интересно- а как это на быстродействии сказывается? какие в целом это дает плюсы по скорости и т.д? были ли замеры?

Ссылка на сообщение
Поделиться на другие сайты
  • 1 month later...

Субъективно работает быстрее все и четче.

Вот с 4 марта полет нормальный.

Точные замеры не производились, мониторились только inode - здесь все ок.

Есть одно неудобство - по кнопке очистить кэш не очищается, что для рабочего сайта не существенно, а для разработки лучше использовать стандартные настройки

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...