これはIIS上の設定であるApplication poolのTimeoutにより、.NETモジュールが再読み込みされているために発生します。
そもそもこのTimeoutはサーバのリソースを有効活用するために設計されたもので、デフォルトでは20分間このサイトにアクセスがないと、Application poolをシャットダウンします。そして、次にアクセスされたときに.NETモジュールを再読み込みするため、遅くなる というわけです。
コンスタントにアクセスがあるサイトならば気にする必要はないかもしれませんが、デモサイトや公開したばかりのサイトはアクセスがまばらになるため、毎回このおそーいレスポンスを待つのは結構つらくなると思います。
そこでこのTimeoutの時間を長くしたり、そもそもなしにしたりする設定をお教えします。
当方、英語環境なのでスクリーンショットが英語になりますが、適宜読み替えてご参照ください。
IISのApplication Poolsで当該サイトが利用しているApplication Pool名を選択し、右サイドバーにあるAdvanced Settingsをクリックします。
Advanced Settings パネル内にあるIdle Time-Out(minutes)の数値を変更します。下記のように0にするとTimeoutなしになります。
以上です。これで最初のアクセスでも遅くなることがなくなります。