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?
The time in seconds to wait for the command to execute. The default is 30 seconds.
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.
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.
Gets or sets the wait time (in seconds) before terminating the attempt to execute a command and generating an error.
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.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With