ネットワーク ハードウェアがネットワーク ドライバーに接続タイムアウトを報告するまでにタイムアウトが発生し、ネットワーク IO を待機しているプログラムに通知されます。 telnet サーバー名 1433 を介してトランスポート層のタイムアウトを確認できます (SQL サーバーがポート 1433 でリッスンしていると仮定します)。
しかし、プロセスがネットワーク API を初期化し (Web アプリが独自のアプリケーション プールにあると仮定)、要求を送信し、ハードウェアがタイムアウトするのを待つには 3 秒では短すぎます。 BIOS/ファームウェア/ドライバーを更新しても、おそらく応答時間はそれほど短縮されません。
接続は非同期で行ったほうがよいでしょう。不運なユーザーは、データベースがダウンしているときに応答を確認するために 3 秒間待つ必要がある可能性があるため、EndInvoke を使用して非同期呼び出しを終了することはお勧めしません。多分 Ajax 呼び出しの方が良いでしょう。多くのユーザーが常に Web サイトにアクセスしている場合は、接続チェックの結果をキャッシュし、ユーザーにとって意味のある方法で更新することをお勧めします。