Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SqlCommand object, what length of time for CommandTimeout?

Tags:

How do I decide what length of time to use as a timeout when using an SqlCommand object?

On parts of the code I'm working on (written by somebody else) I have:

cmd.CommandTimeout = 60; 

Which I think is quite short. However, I have seen some people in forums talking about setting it to 30000, which seems too long.

How do I know what is best for my application?

like image 736
bobble14988 Avatar asked Aug 11 '11 09:08

bobble14988


People also ask

What is the default timeout for Sqlcommand CommandTimeout property?

The time in seconds to wait for the command to execute. The default is 30 seconds.

Is CommandTimeout in seconds or milliseconds?

It seems that people are confused as to whether this is seconds or milliseconds. The documentation states that the timeout is in seconds. A 1-minute timeout seems reasonable for most queries.

How do I use CommandTimeout?

The CommandTimeout property sets or returns the number of seconds to wait while attempting to execute a command, before canceling the attempt and generate an error. Default is 30.

What is Sqlcommand CommandTimeout property used for?

Gets or sets the wait time (in seconds) before terminating the attempt to execute a command and generating an error.


1 Answers

It seems that people are confused as to whether this is seconds or milliseconds. The documentation states that the timeout is in seconds. A 1-minute timeout seems reasonable for most queries. An 8+ hour timeout doesn't seem reasonable.

Do you have queries you're expecting to take longer than a minute? If so, raise it to a value you expect to be higher than anything you'd see if everything is working properly, but not so high as to take forever to alert you to a problem. (For example, you might go from 1 minute to 5 minutes.)

like image 94
Jon Skeet Avatar answered Sep 24 '22 16:09

Jon Skeet