tmpfs Операции с файловой системой в виртуальной памяти:
Для примонтирования при старте вносим в /etc/fstab:
tmpfs /tmp tmpfs size=500M,nr_inodes=1m,nosuid 0 0
tmpfs /var/lib/php5 tmpfs size=200M,nr_inodes=1m,nosuid 0 0
первая строчка размещает в памяти /tmp, вторая папку хранения сессий
Для сосздания папки для сессий без рестарта системы нужно запустить (или набрать в терминале) следующую последовательность строк:
mkdir /tmp/ses
/etc/init.d/nginx stop
mv /var/lib/php5/* /tmp/ses
mount tmpfs /var/lib/php5 -t tmpfs -o size=200M,nr_inodes=1m,nosuid
mv /tmp/ses/* /var/lib/php5
/etc/init.d/nginx start
rm -r /tmp/ses
предварительно лучше отредактировать fstab
Вот более сложный вариант, когда данные сессий хранятся в tmp:
mkdir /dev/shm/ses
/etc/init.d/nginx stop
/etc/init.d/php5-spawn stop
/etc/init.d/mysql stop
mv /tmp/* /dev/shm/ses
mount tmpfs /tmp -t tmpfs -o size=1g,nr_inodes=1m,nosuid
mount tmpfs /var/lib/php5 -t tmpfs -o size=200M,nr_inodes=1m,nosuid
mv /dev/shm/ses/* /tmp
/etc/init.d/mysql start
/etc/init.d/php5-spawn start
/etc/init.d/nginx start
rm -r /dev/shm/ses
du -hsx /tmp
суббота, 24 июля 2010 г.
Запуск memcache через unix.socket
Запуск memcache через unix.socket
В файл /etc/memcached.conf добавляем строчки
#-s unix socket path to listen on (disables network support)
-s /tmp/memcached.socket
#-a access mask for unix socket, in octal (default 0700)
-a 0777
Последняя нужна, что бы пользователь от которого работает вебсервер (у меня www-data) смог прочитать сокет
Перезапускае деамон мемкеша /etc/init.d/memcached restart
Подключаемся к Memcache из php скрипта:
$memcache = new Memcache;
$memcache->connect('unix:///tmp/memcached.socket',0);
Все теперь memcache не должен уступать по производительности tmpfs или /dev/shm
Правда в этом случае перестают работать сессии в мемкешед. Т.е. следующая конструкцияр работать не будет:
$session_save_path = 'localhost:11211';
$session_save_path = 'localhost:11211,unix:///tmp/memcached.socket:0';
ini_set('session.save_handler', 'memcache');
ini_set('session.save_path', $session_save_path);
Но для сессиий лучше всего все таки tmpfs
В файл /etc/memcached.conf добавляем строчки
#-s
-s /tmp/memcached.socket
#-a
-a 0777
Последняя нужна, что бы пользователь от которого работает вебсервер (у меня www-data) смог прочитать сокет
Перезапускае деамон мемкеша /etc/init.d/memcached restart
Подключаемся к Memcache из php скрипта:
$memcache = new Memcache;
$memcache->connect('unix:///tmp/memcached.socket',0);
Все теперь memcache не должен уступать по производительности tmpfs или /dev/shm
Правда в этом случае перестают работать сессии в мемкешед. Т.е. следующая конструкцияр работать не будет:
$session_save_path = 'localhost:11211';
$session_save_path = 'localhost:11211,unix:///tmp/memcached.socket:0';
ini_set('session.save_handler', 'memcache');
ini_set('session.save_path', $session_save_path);
Но для сессиий лучше всего все таки tmpfs
Подписаться на:
Сообщения (Atom)