Desde este enlace: http://www.eggheadcafe.com/articles/20021016.asp
Rendimiento
InProc - más rápido, pero las más datos de la sesión, el más memoria consumida en el servidor web, y que puede afectar al rendimiento .
StateServer - Al almacenar datos de tipos básicos (por ejemplo, cadena, entero, etc), en un entorno de prueba que es 15% más lento que InProc. Sin embargo, el costo de serialización/deserialización puede afectar el rendimiento si está almacenando lotes de objetos. Tienes que hacer pruebas de rendimiento para tu propio escenario .
SQLServer - Al almacenar datos de tipos básicos (por ejemplo, cadena, entero, etc), en un entorno de prueba que es 25% más lento que InProc. La misma advertencia sobre la serialización que en StateServer.
Por lo tanto, parecería que StateServer es un poco más rápido que SQL Server para almacenar el estado de sesión.
En términos de por qué, sugeriría que SQL Server sea más polivalente y probablemente también se use para otras cosas. No solo eso, sino el mecanismo de almacenamiento en disco, mientras que el StateServer se ejecuta en un proceso separado, pero simplemente almacena los datos en el espacio de la memoria del otro proceso en lugar de tener que escribirlos en el disco (lo que permite la memoria virtual)
Para más detalles sobre el estado de sesión ASP.net echar un vistazo aquí:> http://msdn.microsoft.com /fr-fr/library/system.web.sessionstate.httpsessionstate%28v=vs.80%29.aspx – 7addan