[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Оптимизация сессии
inpost
Уже не раз слышал, что сессия очень вредная, отсюда стал вопрос, куда лучше её перебросить и варианты следующие:
1) APC-кеш.
2) Memcached
3) Таблицу в БД с движком memory
4) Что-то ещё?

Ещё сюда же вопрос №2:
Я ведь не ошибаюсь, отправив сессию в память мы уменьшим нагрузку на файловую систему и процессор тем самым улучшим работу сайта?
Объем сессии 0.5 мб.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Rand
Я для сессий использую memcached, думаю самый оптимальный вариант и в качестве session handler ставится легко. Единственный минус - отсутствие блокировок, а так голосую за него!
inpost
Ну это стандартный вариант, а есть ещё 2 других, и в целом, может быть я ещё что-то упустил.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
SlavaFr
Вроде Memcached самый быстрый и в принципе содержит сезон в рабочей памяти.

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
inpost
apc быстрее выполняет выборку из Кеша значения. По крайней мере мои тесты показали.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
ilyaplot
shared memory? memcached может чистится при переполнении

_____________
Заработай на Userator
Rand
Цитата (ilyaplot @ 14.05.2013 - 23:01)
memcached может чистится при переполнении

Это фича, кому-то нужная, кому-то нет. В конфиге устанавливается лимит и ты уверен, что он не выйдет за эти рамки и не выдаст исключение в тот момент, когда ты захочешь записать что-то, а лимит по памяти достигнут. Он просто удалит самый старый объект. А shared memory - слишком велосипедно, имхо.

inpost, слышал сессии ещё в redis хранят, но я плохо с ним знаком, возможно стоит посмотреть.
Invis1ble
Я б попробовал смонтировать раздел с tmpfs, не знаю, для чего эти запарки с memcached, redis и пр. Хотя надо сравнить скорость, но думаю разницы особой не будет.
А технически на tmpfs перенести сессии - ничего не стоит, вообще ничего. Только сменить путь в конфиге, и все.
Кстати, проверь для начала, где на данный момент они у тебя хранятся, может быть и так в /tmp c tmpfs biggrin.gif

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

killer8080
inpost
как вариант, оставить все как есть, просто отключить нативный гарбидж коллектор. Я так понимаю начались тормоза, из-за большого числа файлов сессий? Эту работу можно возложить на крон, ну или демона.
inpost
killer8080
Память вся свободная, процессор временами сильно нагружается процессами ПХП. Видео-сервер перебросил на отдельный сервер. Скрипты оптимизировал, спам-ботов ддосеров перебанил. Файлы разбил по папкам (было около 1млн. в 1 директории).
Подумываю ещё улучшить работу сайта, пока падений нет, но хочется подстраховаться на будущее. Вот пал глаз именно на сессии, чтобы винчестер не мучить.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.