タイムアウト【time out】

概要

タイムアウトとはあらかじめ設定された一定時間が経過しても処理や通信が完了しない場合に、それを強制的に打ち切って終了すること。データ通信における応答待ち、セッションコネクションの接続維持、ソフトウェア内部の処理など様々な場面で行われ、システムが無制限に待機状態へ陥ることを防ぐ。
タイムアウトのイメージ画像

データ通信では、相手方からの応答を待つ際にタイムアウトが用いられる。TCP接続HTTPリクエストでは、パケットの損失やサーバの過負荷によって応答が途絶える場合がある。このとき、あらかじめ定めた制限時間(タイムアウト時間)を超えた時点で待機を打ち切り、エラーとして処理する。これをタイムアウト処理という。DNS問い合わせやAPI通信でも同様の仕組みが採られている。

セッションコネクションのように、相手先と仮想的な通信路を確立して継続的に送受信を行う仕組みにも、タイムアウトは組み込まれている。利用者からの操作や通信が一定時間行われない場合に接続を自動的に終了するもので、「アイドルタイムアウト」とも呼ばれる。Webサービスログイン状態の維持や認証トークンの有効期限管理でも、長時間無操作で放置すると自動でタイムアウトする仕組みが用いられる。

ソフトウェアの内部処理においても、ジョブの実行やスレッド処理に制限時間を設け、完了しない場合に強制終了する設計が採られる。プログラムの欠陥によって無限ループが発生し、処理が終わらないまま計算資源を占有し続ける事態を防ぐためである。分散システムクラウド環境では、APIゲートウェイロードバランサが複数段階のタイムアウトを持ち、障害発生時の影響を局所化する設計が一般的になっている。

タイムアウト時間は固定の値ではなく、用途や通信品質に応じて調整される。値を短く設定すると、トラブル発生時に早く処理を打ち切れるため応答性は高まるが、遅延が生じやすい環境では正常な通信でも失敗として扱われる可能性がある。逆に値を長くすると、不安定な通信でも処理が完了しやすくなる一方、障害発生時に処理が滞留する時間が延びる。このため、リトライ処理と組み合わせて安定性を補う設計が行われることが多い。

データベースへのアクセスや外部APIの呼び出しにおいては、クエリタイムアウトやコネクション管理が用いられ、応答が得られない接続が長時間残ることを防いでいる。オペレーティングシステム(OS)のレベルでもソケットタイムアウトが提供されており、アプリケーションが応答のない相手先を待ち続ける状態を抑制する仕組みが実装されている。

(2026.6.19更新)
 

他の辞典等による「タイムアウト」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。