LINUX.ORG.RU

PHP session & Memcache

 , ,


0

1

На сервере крутится 5 сайтов. Перенес хранение сессий в memcache.

  1. Будет ли реальный прирост производительности, или это наносекунды?
  2. Не будет ли каких-либо конфликтов при таком подходе или для каждого сайта нужен свой memcache?

Это снижение нагрузки на дисковую систему. Если у тебя дисковая активность невысокая (нагрузка вообще небольшая или SSD) то разницы не заметишь. Если высокая — разгружает ощутимо, даже не на самой работе сессий, а на их очистке — под фрагментированной ext4 на нагруженном сервере это весьма болезненный процесс :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

даже не на самой работе сессий, а на их очистке — под фрагментированной ext4 на нагруженном сервере это весьма болезненный процесс :)

А если сессии держать на tmpfs?

no-such-file ★★★★★
()
Ответ на: комментарий от KRoN73

А насчет конфликтов будут какие-нибудь недоразумения если сессии в мемкеше или php сам все разрулит и хоть 50 сайтов на сервере?

xisip
() автор топика
Ответ на: комментарий от no-such-file

А если сессии держать на tmpfs?

Тогда разницы особой быть не должно.

KRoN73 ★★★★★
()
Ответ на: комментарий от xisip

А насчет конфликтов будут какие-нибудь недоразумения если сессии в мемкеше

При отключении мемкеша все логи будут забиты ошибками :)

будут какие-нибудь недоразумения если сессии в мемкеше или php сам все разрулит и хоть 50 сайтов на сервере?

Скорее, наоборот, когда несколько файловых хранилищ сессий в одном каталоге лежат, постоянно вылезают конфликты по правам доступа.

KRoN73 ★★★★★
()

Прирост производительности будет если руками сайт написать, а не на спичках экономить. Сессия во время работы скрипта выбирается один раз и один раз загоняется обратно, причем, если не пихать туда всё что не попади имеет размер до 10-100 кБайт.

r_asian ★☆☆
()
Ответ на: комментарий от xisip

Проблемы могут быть, т.к. поведение файловых сессий и сессий через мемкэш отличаются. Файловые идут с блокировкой, т.е. если пользователь откроет у вас одновременно несколько страниц, то они будут обработаны на сервере строго последовательно, т.к. пока не отработал один скрипт использующий сессии другой будет висеть в ожидании на старте сессии. С мемкэшем это все пойдет параллельно. Так что если логика у вас заязана на некую консистентность сессионных данных, то можно получить связку граблей

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.