何となく applicationHost.config を眺めていたら、Azure Web サイトのモードによって値が変化している部分があるような気がしたので差分を調べてみました。
FastCGI のワーカープロセス上限
IIS によって管理される FastCGI ワーカープロセスの上限がモードごとに異なっています。設定に関しては IIS 公式のリファレンスを見てください。
FastCGI Application <application> : The Official Microsoft IIS Site
Web サイトのモード | maxInstances の値 |
---|---|
無料 | 4 |
共有 | 8 |
基本 | 15 |
標準 | 15 |
デフォルト値は 4 らしいので、仮想マシンを占有するモードでは比較的多めにワーカープロセスを立ち上げることが出来るので、パフォーマンスを改善することが出来そうです。
リクエストキューの上限
仮想マシンを占有するかどうかで HTTP リクエストのキューの上限が変わっていました。この設定については TechNet の説明がわかりやすいかと。
Web サイトのモード | appConcurrentRequestLimit の値 |
---|---|
無料 | 5000 |
共有 | 5000 |
基本 | 32768 |
標準 | 32768 |
仮想マシンを占有するモードではデフォルト値よりも大きい値が設定されているため、SignalR などの WebSocket を利用するアプリケーションでは、パフォーマンスが改善される可能性がありますね。
monitoring の設定
公式ブログでも扱われた自動回復周りの設定を行う要素は、仮想マシンを占有するモードでのみ使えるようになっているみたいです。
詳しい設定方法に関しては公式ブログを読んだ方が良いですね。
Windows Azure Web サイトの自動復旧 - Microsoft Azure Japan Team Blog (ブログ) - Site Home - MSDN Blogs
Web サイトのモード | 利用の可否 |
---|---|
無料 | × |
共有 | × |
基本 | ○ |
標準 | ○ |
無料や共有ではアプリケーションが一定時間アイドルになったら、自動的にワーカープロセスが落ちるようになっているみたいなので不要ということでしょうか。
個人的には常時接続と組み合わせて利用する機能だと思ってます。