トップ回答者
IISのタイムアウト設定orメモリ開放の設定について

質問
-
お世話になります。
Windows Server2008 R2でIIS7.5を稼働させています。
ツールで負荷をかけながら、パフォーマンスモニターでPrivate bytesの値を見ていると
画像のような形で推移しました。負荷をかけた時間は、11:14前後から10分間程度です。
負荷をかけている間、Private bytesが上がっていくのはわかるのですが、
画像を見ていただければわかります通り、11:20頃、Private Bytesの値が下がった後、
3分に1度程度、大きくPrivate bytesが下がるタイミングがあります。
単純に何かしらのタイムアウト値で徐々にメモリを開放しているのだと思っているのですが、
180や3等のパラメータが見当たらないのですが、これは、どこのパラメータが効いているのでしょうか?
なお、アイドル状態のタイムアウトの設定値は20分でした。
他も、設定を変更した記憶はないので、デフォルトだと思われます
回答
-
こんにちは。
まず、OutlookWebApp2010はさっぱりわからないので、これが何をコントロールできるかっていう部分については、おいておいて・・・
メモリ消費量が90%だとして、何が問題なのかちょっと謎なのですが、これはおいておいて・・・(^^;、
※ほんとは何故問題かをはっきりさせる必要があると思います。ほかのあぷりが動かなくなるからだ!とかそういうことです。メモリに余裕があって使われる分には逆に良いわけですし。
リクエスト処理量をコントロールしたいということであれば、maxConcurrentRequestsPerCPU、maxConcurrentThreadsPerCPU、requestQueueLimitの値を設定することで可能です。
http://social.msdn.microsoft.com/Forums/ja-JP/iis7ja/thread/c5ee2f46-30de-4073-bd71-bd2624297de3
こちらのスレッドに書いたので見てください。がしかし、これもOutlookWebApp2010でも適用可能なのかどうかよくわかりません。OutlookWebApp2010自体が、どんな実装をしているのかがよくわからないので、なんとも・・・
Outlook Web App について: Exchange 2010 のヘルプ http://technet.microsoft.com/ja-jp/library/aa998629.aspx#Tools をみると、通常のASP.NET アプリケーションと同じようなコントロールができそうな感じには見えます。
パフォーマンスモニタで、OutlookWebApp2010の4つ?のアプリケーション(仮想ディレクトリ)のどれがどのように、メモリやパイプラインを消費しているかや、むやみにリサイクルしていないか、などを調べないことには、手を出しようが無い気がします。
Outlook Web App がセッションをどの程度持続して持ち続けているか?など、Outlook Web App の実装の問題もあるかもしれませんし(><)
Exchange Server 2010 フォーラム http://social.technet.microsoft.com/Forums/ja-JP/category/exchangeserver の方でも聞いてみるとよいかもしれません。同様の問題で(問題が不明瞭ですが)アクションを起こした人がいるかもしれません。
すべての返信
-
ご助言ありがとうございます。
すいません。IISの内部処理にあまり詳しくなくて申し訳ないのですが
アクセスに対して、HTTPのオブジェクトが割り当てられて、
そのオブジェクトがパイプライン的に処理されているのだと思うので
一連処理が終わるなり、不要となったタイミングで、解放されてるってことですよね。
やはり、設定パラメータは普通のところには、無いのですね。
いろいろと見ていたのですが、見当たらなかったので。レジストリ周りで持っているのかな。。。
今回、この質問をさせていただいたのは、実は最初の質問の時の画像のように、定期的に解放してくれれば
問題ないのですが、同じWidnows 2008R2、IIS7.5にOutlookWebApp2010をインストールして
同様のことをすると、下記に添付しております画像の通り、負荷をかけ終わった後、多少は解放しているようなのですが
その後、一向に値が下がらず、ある程度アクセスがある限り、右肩上がりでIISのプロセスの
メモリ消費量が上がり、サーバ積載メモリの90%以上をIISのプロセスが使うような状況にもなりました。
OutlookWebApp2010をインストールした環境でも、解放してくれるように
設定できないか、と思った次第です。
ご存知のことがありましたら、引き続きご助言頂けますと、幸いです。
-
こんにちは。
まず、OutlookWebApp2010はさっぱりわからないので、これが何をコントロールできるかっていう部分については、おいておいて・・・
メモリ消費量が90%だとして、何が問題なのかちょっと謎なのですが、これはおいておいて・・・(^^;、
※ほんとは何故問題かをはっきりさせる必要があると思います。ほかのあぷりが動かなくなるからだ!とかそういうことです。メモリに余裕があって使われる分には逆に良いわけですし。
リクエスト処理量をコントロールしたいということであれば、maxConcurrentRequestsPerCPU、maxConcurrentThreadsPerCPU、requestQueueLimitの値を設定することで可能です。
http://social.msdn.microsoft.com/Forums/ja-JP/iis7ja/thread/c5ee2f46-30de-4073-bd71-bd2624297de3
こちらのスレッドに書いたので見てください。がしかし、これもOutlookWebApp2010でも適用可能なのかどうかよくわかりません。OutlookWebApp2010自体が、どんな実装をしているのかがよくわからないので、なんとも・・・
Outlook Web App について: Exchange 2010 のヘルプ http://technet.microsoft.com/ja-jp/library/aa998629.aspx#Tools をみると、通常のASP.NET アプリケーションと同じようなコントロールができそうな感じには見えます。
パフォーマンスモニタで、OutlookWebApp2010の4つ?のアプリケーション(仮想ディレクトリ)のどれがどのように、メモリやパイプラインを消費しているかや、むやみにリサイクルしていないか、などを調べないことには、手を出しようが無い気がします。
Outlook Web App がセッションをどの程度持続して持ち続けているか?など、Outlook Web App の実装の問題もあるかもしれませんし(><)
Exchange Server 2010 フォーラム http://social.technet.microsoft.com/Forums/ja-JP/category/exchangeserver の方でも聞いてみるとよいかもしれません。同様の問題で(問題が不明瞭ですが)アクションを起こした人がいるかもしれません。 -
Keiichi Oumi様
再度のご助言ありがとうございます。
>メモリ消費量が90%だとして、何が問題なのかちょっと謎なのですが、これはおいておいて・・・
言葉足らずで申し訳ありません。結局、他のことにリソースが割けなくなったのだと思いますが
RDPがつなげなくなったり、OWA自体もちゃんと動かなりまして、仮想環境に構築していたこともあり、
仮想マシンの管理ツールから再起動する結果になりました。当然ながら、メモリが解放されたので起動後は問題なく動きました。
>リクエスト処理量をコントロールしたいということであれば、maxConcurrentRequestsPerCPU、
>maxConcurrentThreadsPerCPU、requestQueueLimitの値を設定することで可能です。
この辺りの値を変更してみて、どうなるか、見てみようと思います。
>Exchange Server 2010 フォーラム http://social.technet.microsoft.com/Forums/ja-JP/category/exchangeserver の方でも聞いてみるとよいかもしれません
確かに、そうですね。Exchangeの側でも聞いてみようと思います。
-
ttnk さん、こんにちは
フォーラム オペレーターの星 睦美です。Outlook Web App 2010 と事象の関連についてExchange Server 2010 のカテゴリに投稿いただいていますので、こちらのスレッドはいったん回答を終了させていただきますね。Keiich Oumi さんからのIIS に関する情報が参考になると思いますので、今回は私から[回答としてマーク] をさせていただきました。
・[Exchange Server 2010] ttnk さんからの質問 -Exchangeのメモリ解放について :
日本マイクロソフト株式会社 フォーラム オペレーター 星 睦美