Сессия разделенный режим (hot&cold)
Тему урока можно изучить в новом формате — в документации по Bitrix Framework. В ней улучшена структура, описание, примеры.
Введение
По умолчанию сессия в PHP поддерживает последовательный доступ. Это означает, что параллельные хиты, которые используют сессию, блокируются и выстраиваются в очередь.

Это удобно для разработчиков, но не всегда хорошо для пользователей, так как интерфейс и отклик приложения может быть с задержками. Встаёт задача уменьшить количество блокировок сессий.
Общий принцип
Один из вариантов решения как избежать блокировки - это написать SessionHandlerInterface и не делать там просто блокировку. Но этот вариант не подходит, так как есть большое количество существующих использований в коде Bitrix Framework и партнеров.
Выбран другой путь:
- Данные, которые используются на каждом хите выделены в KernelSession-сессию (hot данные). Это данные для аутентификации, авторизации и другие связанные с ядром.
- Всё остальное, что хранится в сессии -- это cold-данные.
- KernelSession-сессия неблокирующая и работает по принципу "кто последний, того и тапки".
- Всё остальное -- это обычная блокирующая сессия.
- Блокирующая сессия стартует только при первом обращении к cold-данным.
Разделение хранения cold&hot

Хранилище для KernelSession-сессии -- это шифрованные cookies.
Хранилище для cold-сессии -- это обычная сессия, принцип работы, как и раньше, поэтому данные могут храниться в Redis, Memcache, БД.
Настройка хранения
Чтобы включить разделенный режим сессии, нужно в bitrix/.settings.php изменить session[mode] на separated. И добавить 'kernel' => 'encrypted_cookies', и 'lifetime' => 14400,.
Примеры можно посмотреть здесь.