Состояние сеанса в режиме SQLServer - PullRequest
0 голосов
/ 28 февраля 2012

Из того, что я прочитал, когда состояние сеанса находится в режиме SQLServer, он всегда должен обращаться к БД, чтобы получить и установить переменные сеанса. Это правда или он может использовать кеш в некоторых ситуациях? Если у вас есть хорошие статьи о том, как работает этот режим, пожалуйста, поделитесь ими здесь. Я просто не могу найти что-то релевантное в Google.

Я пытаюсь оценить риски использования этого (производительность, надежность и т. Д.)

Спасибо!

1 Ответ

2 голосов
/ 28 февраля 2012

Надежность : насколько надежен ваш экземпляр SQL Server?Это кластеризовано?Это на удаленном сервере?

Производительность : состояние сеанса SQL Server является одним из самых низкоэффективных параметров состояния сеанса.Я предполагаю, что вы используете это в приложении ASP.NET и имеете более одного веб-сервера.Для каждого запроса, требующего состояния сеанса, он выполнит как минимум 1 запрос к базе данных.Если состояние сеанса обновляется во время запроса, будет выполнен один дополнительный запрос на обновление.Кроме того, все, что хранится в состоянии сеанса, будет прочитано / обновлено.Если вы можете быть осторожны в ограничении того, какие страницы / ресурсы требуют состояния сеанса, он может работать нормально.

Альтернативы : Если вы работаете только на одном веб-сервере, вы можете использовать State Server.Если вам требуется поддержка нескольких веб-серверов, вы можете рассмотреть возможность использования Состояния кэширования App Fabric провайдера или NCache .Оба они будут работать лучше, чем SQL Server, и потенциально более отказоустойчивы, чем SQL Server.

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