none
IISのタイムアウト設定orメモリ開放の設定について RRS feed

  • 質問

  • お世話になります。

    Windows Server2008 R2でIIS7.5を稼働させています。

    ツールで負荷をかけながら、パフォーマンスモニターでPrivate bytesの値を見ていると

    画像のような形で推移しました。負荷をかけた時間は、11:14前後から10分間程度です。

    負荷をかけている間、Private bytesが上がっていくのはわかるのですが、

    画像を見ていただければわかります通り、11:20頃、Private Bytesの値が下がった後、

    3分に1度程度、大きくPrivate bytesが下がるタイミングがあります。

    単純に何かしらのタイムアウト値で徐々にメモリを開放しているのだと思っているのですが、

    180や3等のパラメータが見当たらないのですが、これは、どこのパラメータが効いているのでしょうか?

    なお、アイドル状態のタイムアウトの設定値は20分でした。

    他も、設定を変更した記憶はないので、デフォルトだと思われます

    2012年2月27日 6:29

回答

  • こんにちは。

    まず、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 の方でも聞いてみるとよいかもしれません。同様の問題で(問題が不明瞭ですが)アクションを起こした人がいるかもしれません。
    • 回答の候補に設定 星 睦美 2012年3月6日 4:17
    • 回答としてマーク 星 睦美 2012年3月6日 7:35
    2012年3月2日 6:38

すべての返信

  • こんにちは。

    Pipeline Instance の解放と同期して、CPU Threadが解放されていってるだけじゃないかなと思います。

    構成ファイルなどには、この設定値などはなかったと記憶しています。

    2012年2月28日 0:50
  • Keiichi Oumi様

    ご助言ありがとうございます。

    すいません。IISの内部処理にあまり詳しくなくて申し訳ないのですが

    アクセスに対して、HTTPのオブジェクトが割り当てられて、

    そのオブジェクトがパイプライン的に処理されているのだと思うので

    一連処理が終わるなり、不要となったタイミングで、解放されてるってことですよね。

    やはり、設定パラメータは普通のところには、無いのですね。

    いろいろと見ていたのですが、見当たらなかったので。レジストリ周りで持っているのかな。。。

    今回、この質問をさせていただいたのは、実は最初の質問の時の画像のように、定期的に解放してくれれば

    問題ないのですが、同じWidnows 2008R2、IIS7.5にOutlookWebApp2010をインストールして

    同様のことをすると、下記に添付しております画像の通り、負荷をかけ終わった後、多少は解放しているようなのですが

    その後、一向に値が下がらず、ある程度アクセスがある限り、右肩上がりでIISのプロセスの

    メモリ消費量が上がり、サーバ積載メモリの90%以上をIISのプロセスが使うような状況にもなりました。

    OutlookWebApp2010をインストールした環境でも、解放してくれるように

    設定できないか、と思った次第です。

    ご存知のことがありましたら、引き続きご助言頂けますと、幸いです。

    2012年2月29日 6:19
  • こんにちは。

    まず、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 の方でも聞いてみるとよいかもしれません。同様の問題で(問題が不明瞭ですが)アクションを起こした人がいるかもしれません。
    • 回答の候補に設定 星 睦美 2012年3月6日 4:17
    • 回答としてマーク 星 睦美 2012年3月6日 7:35
    2012年3月2日 6:38
  • Keiichi Oumi様

    再度のご助言ありがとうございます。

    >メモリ消費量が90%だとして、何が問題なのかちょっと謎なのですが、これはおいておいて・・・

    言葉足らずで申し訳ありません。結局、他のことにリソースが割けなくなったのだと思いますが

    RDPがつなげなくなったり、OWA自体もちゃんと動かなりまして、仮想環境に構築していたこともあり、

    仮想マシンの管理ツールから再起動する結果になりました。当然ながら、メモリが解放されたので起動後は問題なく動きました。

    >リクエスト処理量をコントロールしたいということであれば、maxConcurrentRequestsPerCPU、

    >maxConcurrentThreadsPerCPU、requestQueueLimitの値を設定することで可能です。

    この辺りの値を変更してみて、どうなるか、見てみようと思います。

    >Exchange Server 2010 フォーラム http://social.technet.microsoft.com/Forums/ja-JP/category/exchangeserver の方でも聞いてみるとよいかもしれません

    確かに、そうですね。Exchangeの側でも聞いてみようと思います。

    2012年3月5日 11:34
  • ttnk さん、こんにちは
    フォーラム オペレーターの星 睦美です。

    Outlook Web App 2010 と事象の関連についてExchange Server 2010 のカテゴリに投稿いただいていますので、こちらのスレッドはいったん回答を終了させていただきますね。Keiich Oumi さんからのIIS に関する情報が参考になると思いますので、今回は私から[回答としてマーク] をさせていただきました。

    ・[Exchange Server 2010] ttnk さんからの質問 -Exchangeのメモリ解放について :


    日本マイクロソフト株式会社 フォーラム オペレーター 星 睦美

    2012年3月6日 7:35