Да, session_start () потребляет ресурсы. Однако, если ваш сайт не имеет огромное количество трафика, не так, как вы заметите. И альтернативные способы хранения данных сеанса почти все труднее реализовать, и, как правило, имеют интересные режимы сбоев.
Единственное, что я бы порекомендовал, это быть осторожным с тем, что вы делаете в сеансе - огромные объемы данных окажут заметное влияние даже при более низких уровнях трафика. Классическая ошибка - случайно загрузить все дерево объектов для вашего уровня бизнес-логики в состояние сеанса.
Например, предположим, что вы строите корзину для покупок; когда клиент нажимает «добавить в корзину», вы хотите запомнить добавленный товар. Таким образом, вы можете добавить уникальный идентификатор элемента в сеанс, но тогда вам придется искать цену и описание каждый раз, когда вы показываете корзину, что является болью. Итак, вы решили загрузить объект, представляющий элемент, в ваш сеанс. Этот объект содержит цену и описание, а также категорию элемента - и все остальные элементы в этой категории, потому что ваше приложение не использует отложенную загрузку. Итак, теперь каждый предмет в вашей корзине также содержит сотни или тысячи других предметов; и прежде чем вы узнаете, где вы находитесь, вы загрузили почти всю свою базу данных в сеанс.