マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

ASP.NETのタイムアウトについての考慮点を纏めました。

クライアント側の設定

クライアント側のタイムアウトは、

リクエスト-レスポンス間のタイムアウトについて言及しているものが多いので、

タイムアウト後にサーバ側が

があるので注意が必要。

HTTPクライアント

HttpClient

WCFクライアント

WebRequest?

DBクライアント

コネクション・タイムアウト(接続のタイムアウト)

コマンド・タイムアウト(実行タイムアウト)

サーバ側の設定

サーバ側のタイムアウトは、
実行タイムアウト以外に様々なタイムアウトが存在する。

実行タイムアウトの場合、
タイムアウト後にサーバ側は動作を停止する(当然といえば当然)。

Webサーバ

IISのタイムアウト

意外にも、コネクション・タイムアウト以外を発見できず。

コネクション・タイムアウト(接続のタイムアウト)

APサーバ

アプリケーション プール

ASP.NET

web.config(httpRuntimeタグのexecutionTimeout属性)に記述する。

WCFサーバー

ASP.NETのSessionタイムアウト

web.config(sessionタグのtimeout属性)に記述する。

各種認証のタイムアウト

DBサーバ

ロック・タイムアウト(DBのロック待ちのタイムアウト)

コネクション・タイムアウト(接続のタイムアウト)

クライアント側設定とサーバ側設定がある。

コネクション・レベルのタイムアウトなので、
どちら側の設定の場合も、タイムアウト時に、サーバは動作をしていないことになる。

クライアント側設定

DBのクライアント側タイムアウト

サーバ側設定

IISのサーバ側タイムアウト

タイムアウトとトランザクションとの関連

クライアント側タイムアウト

クライアント側タイムアウトでは、APサーバのThreadは停止しないことがある。

停止しない場合、Transactionの結果はAPサーバの処理結果に依る。

サーバ側タイムアウト

サーバ側タイムアウトでは、APサーバのThreadが停止する。

停止する場合は、Transactionはロールバックされる。

参考


Tags: :あるある, :.NET開発, :ASP.NET, :障害対応, :性能


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS