IISでASP.NETメモリ使用量は、devenvをよりもはるかに大きいです。これは正常ですか?
-
25-09-2019 - |
質問
ご挨拶!
私は外部のページの一握りから擦り傷データは、テーブル内の関連ビットと表示され、それらを解析するASP.NETアプリケーションを持っています。検索された合計データは3〜4メガバイトで、結果のページは1メガバイト程度です。私は、検索のための同期WebRequestクラスのGetResponseを使用していますが、同じ問題が非同期BeginGetResponse / EndGetResponseプロセスを使用して存在していました。 何のデータベースアクセス、無セッションストレージ、キャッシングなし、しかし約100オブジェクトのインメモリリスト(データの合計1メガバイト)、プラスAJAX(AjaxControlToolkit)の良い量がありません。この問題は、私はIISを再起動した場合でも、アプリの非常に最初の実行時に表示されます。
問題:
私は私のdevのコンピュータ上でアプリケーションを実行すると、は、最大電荷が1.5ギガバイトについてですコミット。タスクマネージャのVMのサイズによって測定された最大の利用者は、WebDev.WebServer.exe(600メガバイト)です。アプリは完全に実行されます。
私は私の家賃サーバ上でそれを実行すると(7.5、1GBのRAM IIS)、最大電荷は3.8ギガバイトを超えるコミット。最大の利用者は2.7ギガバイトでw3wp.exeのです。 IISはタイムアウトエラーページアウト停止し、スピットに磨きます。 私の限られたサーバーの予算や複数の同時ユーザーを持つことの希望を考えると、私は一種のパニックでのよ。
これは正常ですか?私は4ギガバイトまでのサーバーRAMをつり上げる場合、それは十分でしょうか? 複数のユーザーは、さらに多くのメモリを必要とするだろうか? 犯人は、AJAXやオブジェクトのリストだろうか?
あなたが提供することができます任意の洞察力をありがとうます。
解決 3
さて、いくつかのハードワークの後、私は犯人を特定しています。開発環境は、例外をスローした場合はもちろん、私がキャッチして、問題を切除しているだろう - しかし、それはしませんでした。
。私はレッスンがここで学んだと言うだろうが、エラーにIISとdevenvを応答の異なるバージョンが異なり、我々はそれが展開されるのと同じ構成でアプリをテストしなければならないということを理解することがあります。
あなたのフィードバックのためのみんなありがとう。
他のヒント
はIIS 7.5の下であなたのdevの環境でこれを実行してみましたか?
あなたのweb.configファイル
私は、あなたが適切だけでパフォーマンスモニタやタスクマネージャで、この問題を診断することはできませんあなたには、いくつかのデバッグツールを掘ると、本番サーバーのワーカープロセス・ダンプをキャプチャする必要があると思います。
は、私は、スタックオーバーフローしばらく作業を開始すべきである背面にこの回答を投稿しました