¿Cómo investigar el error de tiempo de espera de SQL Server en la aplicación ASP.net?

Nos enfrentamos a un error de tiempo de espera severo en la aplicación web NopCommerce - ASP.net MVC3.

El error solo se resuelve en algún momento cuando finalizamos el proceso de sql. Al finalizar, comienza a funcionar bien durante un tiempo y luego nuevamente comienza a ocurrir.

Esto está sucediendo desde los últimos días solamente, antes de eso estaba funcionando bien. Tenga en cuenta que no se ha realizado ninguna actualización importante en su código.

No tenemos idea de cuál podría ser el problema y cómo investigarlo y solucionarlo. ¿Es un problema relacionado con el grupo de conexiones o qué?

Aquí está el stacktrace:

Tiempo agotado. El período de tiempo de espera transcurrió antes de la finalización de la operación o el servidor no responde. Descripción: se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Revise el seguimiento de la pila para obtener más información sobre el error y dónde se originó en el código.

Detalles de la excepción: System.Data.SqlClient.SqlException: El tiempo de espera expiró. El período de tiempo de espera transcurrió antes de completar la operación o el servidor no responde.

Error de fuente:

Se generó una excepción no controlada durante la ejecución de la solicitud web actual. La información sobre el origen y la ubicación de la excepción se puede identificar utilizando el seguimiento de la pila de excepciones a continuación.

Seguimiento de pila:

[SqlException (0x80131904): se agotó el tiempo de espera. El período de tiempo de espera transcurrió antes de completar la operación o el servidor no responde.] System.Data.SqlClient.SqlConnection.OnError(Excepción SqlException, Boolean breakConnection) +296 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +415 System .Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2657 System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +88 System.Data.SqlDataReader().get_MetaDataClient.SqlDataClient. +114 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +505 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async.) +Data1896 System. .SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult resul t) +480 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, boolean returnStream, método String) +28 System.Data.SqlClient.SqlCommand.ExecuteReader(comportamiento de CommandBehavior, método String) +854 System.Data. SqlClient.SqlCommand.ExecuteDbDataReader (Comportamiento de CommandBehavior) +22 System.Data.Mapping.Update.Internal.DynamicUpdateCommand.Execute (Traductor de UpdateTranslator, conexión de EntityConnection, Diccionario2 identifierValues, List1 generateValues) +269 System.Data.Mapping.Update.Internal.UpdateTranslator.Update (IEntityStateManager stateManager, adaptador IEntityAdapter) +528

preguntado el 03 de mayo de 12 a las 09:05

1 Respuestas

@Dharmik Bhandari, puede haber varios problemas. Prueba las siguientes cosas

  • Aumentar el tamaño de la piscina
  • establecer CommandTimeOut = 0 (infinito)
  • establecer ConnectionTimeOut = 0 (infinito)
  • Libere los recursos de conexión tan pronto como se agote la funcionalidad de la base de datos.

contestado el 03 de mayo de 12 a las 09:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.