sql >> Base de Datos >  >> RDS >> Sqlserver

SQLServer vs StateServer para el rendimiento del estado de sesión de ASP.NET

Una pequeña pero importante nota al margen:InProc no se puede usar en una granja, como sugiere el nombre, se ejecuta en el proceso w3wp actual y no se puede compartir en una granja. StateServer es un servicio de Windows, por lo que la velocidad de uso de StateServer depende de la velocidad de la máquina en la que se ejecuta el servicio de stateserver, es solo memoria. SQL, por supuesto, necesita escribir los datos y recuperarlos, lo que probablemente sea más lento que solo la memoria.

Desde aquí:

  • En proceso. En proceso funcionará mejor porque la memoria de estado de la sesión se mantiene dentro del proceso ASP.NET. Para aplicaciones web alojadas en un solo servidor, aplicaciones en las que se garantiza que el usuario será redirigido al servidor correcto o cuando los datos del estado de la sesión no son críticos (en el sentido de que se pueden reconstruir o volver a llenar) , este es el modo a elegir.
  • Fuera del proceso. Este modo se utiliza mejor cuando el rendimiento es importante, pero no se puede garantizar de qué servidor solicitará una aplicación un usuario. Con el modo fuera de proceso, obtiene el rendimiento de la lectura de la memoria y la confiabilidad de un proceso independiente que administra el estado de todos los servidores.
  • Servidor SQL. Este modo se usa mejor cuando la confiabilidad de los datos es fundamental para la estabilidad de la aplicación, ya que la base de datos se puede agrupar para escenarios de falla. El rendimiento no es tan rápido como fuera del proceso, pero la contrapartida es el mayor nivel de confiabilidad.