Windows Server 2008 r2 で実行される Web アプリケーションがあります。ページの 1 つは、最初の読み込み時に処理に時間がかかりすぎます。約 15 秒かかり、その後はほぼ瞬時に完了します。このとき、w3wp.exe プロセスが 200 MB 未満の RAM から 700 MB の RAM にジャンプします。それは問題ありません。ページは巨大であり、その量のメモリが必要です。その 15 秒後、約 200 MB の RAM に戻り、誰かがそのページにアクセスすると、ほぼ瞬時にレンダリングされます。誰がリクエストしたかに関係なく、レンダリングするのは初めてです。誰かがページを再度要求すると、しばらくして (数十分ではないにしても数分)、ページは同じことを行います - 処理に 15 秒かかり、700 MB の RAM にジャンプします。
有効期限が切れないように、なんとかして700 MBのキャッシュを保持したい。200 MB の RAM にフォールバックした後でも、ページはすぐに読み込まれますが、それが、より長い期間が経過すると「期限切れ」になり、再度レンダリングする必要があるためだと思います。@outputcache について読んだことがありますが、これが必要かどうかはわかりません。また、キャッシングにはさまざまな種類があります。誰かが私を正しい方向に向けることができますか? 私はメモリ消費などについて心配していません。あまり頻繁に発生しない場合でも、ユーザーがロードするのに15秒待たされることを望んでいません。ありがとう!
PS: ASP.NET 4.0 で C# で記述されたアプリケーション