¿Por qué la etapa AspNetSessionData del procesamiento de la página retrasa mi página más de 20 segundos?

Tengo una aplicación web que usa ASP.NET con manejo de sesión "InProc". Normalmente, todo funciona bien, pero unos cientos de solicitudes cada día tardan mucho más en ejecutarse de lo normal. En los registros de IIS, puedo ver que estas páginas (que generalmente requieren de 2 a 5 segundos para ejecutarse) se ejecutan durante más de 20 segundos.

He habilitado el seguimiento de solicitudes fallidas en modo detallado y descubrí que el retraso está ocurriendo en la sección AspNetSessionData. En el ejemplo que se muestra a continuación, hubo una brecha de 39 segundos entre AspNetSessionDataBegin y AspNetSessionDataEnd.

No estoy seguro de qué hacer a continuación. No puedo encontrar ninguna razón para este retraso, y no puedo encontrar más funciones de registro que puedan habilitarse para decirme qué está sucediendo aquí. ¿Alguien sabe por qué sucede esto o tiene alguna sugerencia sobre los pasos adicionales que puedo seguir para encontrar el problema?

Mi aplicación generalmente almacena de 1 a 5 MB en sesión para cada usuario, principalmente datos en caché para búsquedas. El servidor tiene mucha memoria disponible y solo ejecuta alrededor de 50 usuarios.

Respuestas a la pregunta(2)

Su respuesta a la pregunta