Сервер состояний сеанса ASP.NET и сеанс InProc

Каковы потери производительности при запуске сервера состояния сеанса вместо InProc? Это важно? Я понимаю, что вы можете перезапустить w3wp с сервером состояний и сохранить все состояние сеанса - это единственное преимущество перед InProc?


person Alex    schedule 16.09.2009    source источник


Ответы (2)


Это зависит от ваших планов развертывания: на одном сервере штраф невелик, но выгода также ограничена: состояние вашего сеанса выдерживает повторные циклы процесса (как уже упоминалось), но это все. У вас будет некоторый кросс-процессный маршаллинг с режимом StateServer, так что ожидайте дополнительной загрузки процессора, ничего слишком впечатляющего.

В настройке веб-фермы / балансировки нагрузки InProc не будет работать, если вы не настроите привязку сеансов / серверов. Помните о том, что сам узел StateServer может стать единственной точкой отказа, поэтому обязательно компенсируйте это. При этом задержка StateServer в целом намного меньше (= лучше), чем при использовании режима SQLServer.

Убедитесь, что ваш код / ​​сайт корректно обрабатывает потерянное состояние независимо от того, где вы храните данные.

person tijmenvdk    schedule 16.09.2009

Если у вас есть настройка баланса нагрузки (без использования закрепленных сеансов), вы не можете использовать InProc, поскольку (конечно, на основе настроек баланса нагрузки) вы можете переключаться между узлами.

Повторное использование рабочего процесса (но это, конечно, то же самое, что и перезапуск w3wp) также убьет ваш сеанс, когда это InProc.

person veggerby    schedule 16.09.2009