Timeout Error Troubleshooting

  • Hey all,

    My company has an application which uses SQL Server. The application uses IIS and allows for multiple clients to connect locally and remotely. We have a customer who has users connecting locally, remotely, and via terminal server to the program. This customer is getting timeout errors when performing various actions. I've been looking at setting up PerfMon to try and figure out where/if a bottleneck is occuring. Can anyone offer me advice on how to set it up to try and trouble shoot the problem or if there are other tools I should be using to troubleshoot this? I've included two sample stack traces of many, the strange thing is the timeout exceptions are occurring when running different functions/queries; there doesn't seem to be any consistent attribute among them besides that a timeout is occuring. If you need more information, please don't hesitate to ask. Thanks in advance for your help.

    The application server has 4 Intel Xeon(R) CPU's X3220 @ 2.40GHz, 4GB Physical Memory.

    Stack trace 1:

    Error Message:

    --------------

    Server was unable to process request. ---> System.Exception: System.Exception: System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

    Technical Details:

    System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Exception: System.Exception: System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

    at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)

    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)

    at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)

    at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)

    at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)

    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)

    at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)

    at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()

    at EPS.Libraries.Data.SqlHelper.ExecuteNonQuery(SqlTransaction transaction, CommandType commandType, String commandText, SqlParameter[] commandParameters)

    at OrderService.OrderDAC.UpdateJobs(JobDS updateDS, SqlTransaction trans)

    at OrderService.OrderBLC.SaveJobs(JobDS jobDS)

    at OrderService.OrderBLC.SaveJobs(JobDS jobDS)

    at OrderService.wsOrderService.SaveJobs(JobDS jobDS)

    at OrderService.wsOrderService.SaveJobs(JobDS jobDS)

    --- End of inner exception stack trace ---

    at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)

    at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)

    at EPS.Applications.FieldComm.OrderService.wsOrderService.SaveJobs(JobDS jobDS)

    at EPS.Applications.FieldComm.Preservation.JobForm.Save(Boolean force)

    Additional Info:

    ExceptionManager.MachineName: FIPSTERMINAL

    ExceptionManager.TimeStamp: 7/26/2010 11:56:33 AM

    ExceptionManager.FullName: Microsoft.ApplicationBlocks.ExceptionManagement, Version=1.0.1997.24071, Culture=neutral, PublicKeyToken=9995f898b8252764

    ExceptionManager.AppDomainName: Field-Comm.exe

    ExceptionManager.ThreadIdentity: Culpepper, Bernice

    ExceptionManager.WindowsIdentity: CPDATASOURCE\bculpepper

    Application Version: 1.2.5512.0

    HRESULT: -2146233087

    Target Site: System.Object[] ReadResponse(System.Web.Services.Protocols.SoapClientMessage, System.Net.WebResponse, System.IO.Stream, Boolean)

    Source: System.Web.Services

    Windows Version:: Microsoft Windows NT 5.2.3790 Service Pack 2

    Current Profile: Office (http://fipsapp.CPDATASOURCE.LOCAL)

    Thread pool worker thread count: 1000, I/O worker thread count: 1000. Max worker threads set to: 1000, Max I/O worker threads set to: 1000

    stack trace 2:

    Error Message:

    --------------

    The operation has timed out

    Technical Details:

    System.Net.WebException: The operation has timed out

    at System.Net.HttpWebRequest.GetRequestStream()

    at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)

    at EPS.Applications.FieldComm.PropertyService.wsPropertyService.GetPropertyHistory(Int32 propertyNumber)

    at EPS.Applications.FieldComm.Property.PropertyHistoryControl.epsBackgroundWorkderPanel1_DoWork(Object sender, DoWorkEventArgs e)

    at System.ComponentModel.DoWorkEventHandler.Invoke(Object sender, DoWorkEventArgs e)

    at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)

    at EPS.Controls.Common.EPSBackgroundWorker.OnDoWork(DoWorkEventArgs e)

    Additional Info:

    ExceptionManager.MachineName: FIPSTERMINAL

    ExceptionManager.TimeStamp: 7/21/2010 10:55:56 AM

    ExceptionManager.FullName: Microsoft.ApplicationBlocks.ExceptionManagement, Version=1.0.1997.24071, Culture=neutral, PublicKeyToken=9995f898b8252764

    ExceptionManager.AppDomainName: Field-Comm.exe

    ExceptionManager.ThreadIdentity: Stepanek, Renee

    ExceptionManager.WindowsIdentity: CPDATASOURCE\rstepanek

    Application Version: 1.2.5512.0

    HRESULT: -2146233079

    Target Site: System.IO.Stream GetRequestStream()

    Source: System

    Windows Version:: Microsoft Windows NT 5.2.3790 Service Pack 2

    Current Profile: Office (http://fipsapp.CPDATASOURCE.LOCAL)

    Thread pool worker thread count: 999, I/O worker thread count: 1000. Max worker threads set to: 1000, Max I/O worker threads set to: 1000

    Another stack trace with more info

    2010-07-27 09:00:44,674 [7-(null)] ERROR EPS.Libraries.ServerLibrary.EPSServerLogExceptionPublisher - An exception has occurred. Please notify East Point Systems Support.

    General Information

    Additional Info:

    ExceptionManager.MachineName: FIPSAPP

    ExceptionManager.TimeStamp: 7/27/2010 9:00:44 AM

    ExceptionManager.FullName: Microsoft.ApplicationBlocks.ExceptionManagement, Version=1.0.1997.24071, Culture=neutral, PublicKeyToken=9995f898b8252764

    ExceptionManager.AppDomainName: /LM/W3SVC/1/ROOT/ExchangeService-4-129246750085130483

    ExceptionManager.ThreadIdentity:

    ExceptionManager.WindowsIdentity: IIS APPPOOL\DefaultAppPool

    Exception Information

    System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

    at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)

    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)

    at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)

    at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)

    at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)

    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)

    at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)

    at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()

    at EPS.Libraries.Data.SqlHelper.ExecuteNonQuery(SqlConnection connection, CommandType commandType, String commandText, SqlParameter[] commandParameters)

    at EPS.Libraries.Data.SqlHelper.ExecuteNonQuery(String connectionString, CommandType commandType, String commandText, SqlParameter[] commandParameters)

    at ExchangeService.BusinessLogic.OrderPackageDAC.UpdateDestinationOrderNum(Int32 orderNum, Int32 destinationOrderNum, Guid destinationSystemId)

    at ExchangeService.BusinessLogic.ExchangeServicesBLC.ProcessReceipts(MessageOutput[] receipts, Guid transmissionGuid)

    at ExchangeService.BusinessLogic.ExchangeServicesBLC.ProcessInboundMessages(MessageOutput[] messages, Guid transmissionGuid)

  • My advise would be to run the profiler on the DB and find out which Query is taking that much time and then do a performance tuning on the query.

    -Roy

Viewing 2 posts - 1 through 1 (of 1 total)

You must be logged in to reply to this topic. Login to reply