Просмотров: 7961 (Статистика ведётся с 06.02.2017)
Дата последнего изменения: 11.12.2018
Роберт Басыров
Сложность урока:
1 уровень - интуитивно все понятно из интерфейса, но почитать стоит.
1
2
3
4
5
Недоступно в редакциях:
Старт, Стандарт, Малый бизнес, Бизнес

Если несколько веб-серверов

По умолчанию данные о сессиях пользователей хранятся в файловой системе сервера. Информацию об этом есть на странице Хранение сессий в базе данных (Настройки > Веб-кластер > Сессии)

Хранение сессий в базе данных

Если веб-сервер единственный, то такой способ хранения сессий наиболее удобен. Основной его плюс - наиболее высокая производительность. Как показывают различные нагрузочные тесты, скорость генерации страниц сайта при хранении сессий в базе снижается на 3-5%.

Если веб-серверов несколько, то возможно что один запрос пользователя (например, непосредственно авторизация) попадёт на один сервер, а следующий или какие-либо другие запросы - на другие серверы, где посетитель еще не будет авторизован. Подобные ситуации доставят целый ряд неудобств для посетителей сайта. Также, в случае хранения сессий в файлах будет некорректно вестись статистика посетителей.

Пользовательская сессия должна быть "прозрачной" для всех серверов веб-кластера. Поэтому рекомендуется включить хранение сессий в базе данных. Включение механизма хранения данных сессий пользователей в базе данных выполняется с помощью кнопки Включить хранение данных сессий в БД модуля.

Внимание! При переключении режима хранения сессий все пользователи потеряют авторизацию (данные сессий будут уничтожены).


Примечание: Для снижения нагрузки на базу данных и обеспечения "прозрачности сессии", можно сессии в базе не хранить, а вместо этого настроить и использовать в nginx модуль ip_hash.


13


Курсы разработаны в компании «1С-Битрикс»