Объединение сессии и кэша - PullRequest
0 голосов
/ 01 апреля 2010

Чтобы сделать мое веб-приложение экстрасети еще более быстрым / масштабируемым, я думаю об использовании некоторых механизмов кэширования. Для некоторых страниц мы будем использовать кеширование HTML, игнорируйте эту технику для этого вопроса.

Например: в какой-то момент 2500 менеджеров одновременно войдут в наше приложение
(большинство из них с одним аккаунтом / проектом)

Я думаю о том, чтобы сохранить Account-cachekey и Project-cachekey в сеансе пользователя и использовать его для получения элемента из кэша.

Я мог бы просто сохранить Учетную запись в сеансе, но это привело бы к 2500 таким же Учетным записям в памяти.

Есть ли лучшее решение для этого или имеет смысл:)?

1 Ответ

1 голос
/ 01 апреля 2010

Обычно добавление элементов в сеанс отрицательно влияет на масштабируемость. В зависимости от вашей технологии у вас могут возникнуть проблемы с масштабированием до более чем одного сервера при использовании переменных сеанса (например, в классическом asp).

Сказав, что если производительность является вашим главным приоритетом, вы можете кэшировать данные как в переменных сеанса, так и в переменных приложения. Я всегда думал, что это не стоит хлопот для набора данных такого размера, потому что на сервере sql почти наверняка эти данные будут кэшироваться в памяти, и все, что вы сохраняете, - это двусторонняя передача по сети.

Наконец, сначала посмотрите на оптимизацию кода и оборудования для повышения производительности. Миграция в управляемый / скомпилированный код, уменьшение размера html, оптимизация изображений, минимизация JavaScript и, конечно, html-кэширование, о котором вы упоминали ранее, - это все, что я хотел бы рассмотреть в первую очередь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...