トップ回答者
ワーカープロセスのリサイクルについて

質問
-
いつもお世話になってます。
現在、Windows 2003 Server、IIS6、ASP.NET、Oracleの構成で運用しているシステムがあります。
一定時間ごとにDBのデータを取得して画面表示を更新しているだけの単純な物です。
画面更新時にセッションを利用しているのですが、ワーカープロセスのリサイクル時間に達すると、セッションがクリアされてセッションの参照エラーとなってしまいます。
今はデフォルトの1740分でリサイクルされていますが、サーバーが一週間に一度再起動するので、その時間までリサイクル時間を伸ばすか、リサイクルを無効にすることを考えています。
そこで質問なのですが、リサイクル時間を延ばす、または無効にすることによるデメリットは何かありますでしょうか?
よろしくお願いします。
- 移動 Wang Huang 2012年10月1日 15:02 (移動元:Internet Information Services 5.x, 6.0 - 全般)
2010年4月3日 16:32
回答
-
Webアプリケーションに何らかの問題があり、少しずつメモリーリークを起こす場合などに対応するため、一定の時間毎にリサイクルする指定が用意されているようです。この指定を行なわないデメリットとしては、Webアプリケーションが正常に実行されない状態からの復帰の保証が一つ減ることぐらいだと思います。
(参考)
IIS 6.0 でリサイクルを構成する
http://technet.microsoft.com/ja-jp/library/cc786196(WS.10).aspxRecycling by Elapsed Time (IIS 6.0)
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/c21ea743-9524-4cd2-8baa-a78b16c715e0.mspx?mfr=true
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/- 回答としてマーク he-po- 2010年4月13日 1:02
2010年4月4日 3:37
すべての返信
-
Webアプリケーションに何らかの問題があり、少しずつメモリーリークを起こす場合などに対応するため、一定の時間毎にリサイクルする指定が用意されているようです。この指定を行なわないデメリットとしては、Webアプリケーションが正常に実行されない状態からの復帰の保証が一つ減ることぐらいだと思います。
(参考)
IIS 6.0 でリサイクルを構成する
http://technet.microsoft.com/ja-jp/library/cc786196(WS.10).aspxRecycling by Elapsed Time (IIS 6.0)
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/c21ea743-9524-4cd2-8baa-a78b16c715e0.mspx?mfr=true
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/- 回答としてマーク he-po- 2010年4月13日 1:02
2010年4月4日 3:37 -
trapemiya様 返信ありがとうございます。
>この指定を行なわないデメリットとしては、Webアプリケーションが正常に実行されない状態からの復帰の保証が一つ減ることぐらいだと思います。
例えば、リサイクル時間を100分と設定して、ワーカープロセス起動から50分経過したところでアプリケーションが固まってしまった場合、残り50分の間はアクセスを試みても反応なしというような状態になると考えていますが、合っていますでしょうか?
さらに質問で申し訳ないのですが、ワーカープロセスのリサイクル時間の考え方ですが以下で合っていますでしょうか?
リサイクル時間を100分とした場合
1.AのPCが最初にアクセス→ワーカープロセス起動・リサイクル時間カウントスタート
2.AのPCが1から20分経過後に再アクセス→リサイクル時間は残り40分(リサイクル時間は再スタートしない)
現在、再現できる環境がないので聞いてばかりで申し訳ないです。
2010年4月6日 7:58 -
例えば、リサイクル時間を100分と設定して、ワーカープロセス起動から50分経過したところでアプリケーションが固まってしまった場合、残り50分の間はアクセスを試みても反応なしというような状態になると考えていますが、合っていますでしょうか?
リサイクルを行うトリガーはリサイクル時間だけではありませんので、必ずしもそうなるとは限らないでしょう。
(参考)
ワーカー プロセスのリサイクルを使用する状況を判断する
http://technet.microsoft.com/ja-jp/library/cc781185(WS.10).aspx1.AのPCが最初にアクセス→ワーカープロセス起動・リサイクル時間カウントスタート
2.AのPCが1から20分経過後に再アクセス→リサイクル時間は残り40分(リサイクル時間は再スタートしない)
私も確信はないのですが、以下の資料から判断して、アプリケーションが動作しなくなってからだと思います。
IIS 6.0 F1: [アプリケーション プール] - [リサイクル] タブ
http://technet.microsoft.com/ja-jp/library/cc753667(WS.10).aspx(上記に掲載したページの英語版です。こちらの方がわかりやすいでしょう)
When and How to Use Worker Process Recycling
http://technet.microsoft.com/ja-jp/library/cc736458(WS.10).aspx
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/2010年4月8日 9:18 -
2010年4月13日 1:02