Skip to content

OTR_TimeoutValues

nishi_74322014 edited this page Oct 27, 2026 · 1 revision

タイムアウト値の設計

概要

ASP.NET と Open 棟梁で考慮すべきタイムアウト値と、その大小関係。

  • 原則:呼び出し元(外側)ほど長くする。 内側が先にタイムアウトし、その失敗を外側が受け取れるようにする。
  • 外側が先に切れると、内側の処理が孤児になり(続行中なのに呼び出し元は諦める)、本当の失敗も掴めない。

詳細

リクエスト経路(外側 → 内側)

階層 タイムアウト 設定場所 既定 備考
① クライアント HttpClient.Timeout など コード 100 秒 OAuth2 / OIDC は OAuth2AndOIDCClient.HttpClient
② ASP.NET のリクエスト処理 httpRuntime executionTimeout Web.config 110 秒(debug="false" 時) net48
③ DB 接続の確立 Connect Timeout 接続文字列 15 秒
④ DB コマンドの実行 CommandTimeout 設定 30 秒 Open 棟梁は設定 FxSqlCommandTimeout で共通に設定する
⑤ DB のロック待ち SET LOCK_TIMEOUT(SQL Server) セッション・SQL 無限 最も内側

セッション・アイドル系

タイムアウト 設定場所 既定 備考
セッション <sessionState timeout> 20 分 タイムアウトの検出は状態管理
アプリケーション・プールのアイドル IIS 20 分 アイドル ≧ セッションにする(短いと、セッションが生きているつもりでプロセスが先に落ちる)

コーディング・エージェントに任せる場合

  • スキル opentouryo-app-design(references/timeout-values.md)を使わせる。
  • タイムアウト値をコードに直書きさせず、FxSqlCommandTimeout などの共通の設定を使わせる。

参考


Tags: 再構築

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki
開発基盤部会 Wiki

移行管理: DONE / TODO

Clone this wiki locally