Классические ASP-сеансы и большой размер запроса cookie - это проблема и куда поместить переменные сеанса? - PullRequest
1 голос
/ 20 февраля 2011

Я использую классический ASP 3.0, и каждый посетитель получает много значений сеанса при первом подключении. Таким образом, я значительно уменьшаю количество соединений с базой данных, потому что мне не нужно получать переменные пользователя, которые я использую на большинстве страниц, на каждой странице.

Я использую как сеанс ("ID"), сеанс ("имя пользователя"), сеанс ("группа") и т. Д ...

Нет проблем, но с помощью Page Speed ​​я обнаружил, что размер моего запроса составляет 4,5 КБ, а не 1,5 КБ. Теперь я не уверен, является ли это проблемой в современном браузере, и что это значит, что каждый запрос имеет длину 4,5 КБ, а каждая загружаемая графика запрашивается, а запрос отправляется с 4,5 КБ? Со скоростью страницы это будет выглядеть так.

Итак, насколько велика эта проблема? И если это действительно плохая практика помещать переменные, которые пользователь часто использует на странице в сеансе, что мне делать? Запрашивать базу данных на каждой странице для каждого пользователя и извлекать эти значения кажется еще хуже.

Есть идеи?

PS - Как я выяснил, с моим Firefox что-то не так, сессионные куки только накапливались, и у меня 121 куки для моего домена ?! Теперь я очистил файлы cookie в FF, и у меня осталось только 8 файлов cookie, и это нормально, я думаю. Спасибо вам обоим за советы!

Ответы [ 2 ]

2 голосов
/ 21 февраля 2011

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

Хранение этих пользовательских значений в сеансе вместо чтения из БД при каждом запросе - это именно то, для чего был разработан Session, так что вы поступаете правильно.

Каждый запрос и ответ будут иметь минимальный размер независимо от содержимого из-за заголовков. Если вас беспокоит размер запроса (ответа?), Вам следует начать изучение других мест, таких как другие файлы cookie для того же домена, заголовки ответов HTTP по умолчанию IIS. Также помните, что PageSpeed ​​предлагает рекомендаций , а не правил, вырезанных из камня.

2 голосов
/ 21 февраля 2011

если производительность приемлема, то не нужно менять.Хранение сессий вполне приемлемо.не нужно переписывать приложение, если все работает.

Однако, если вы хотите повысить производительность - вот несколько советов для рассмотрения.

25 + ASP Советы по улучшению производительности и стиля

...