July 27, 2010 at 12:33 pm
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)
July 27, 2010 at 12:45 pm
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
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy