2011-02-13 16 views
0

同じアプリケーション(C#を使用)のインスタンスを同時に何百も実行しようとしていて、約200インスタンス後にGUIが次のインスタンスの読み込み時間20代まで上昇しています(1秒から)。複数のアプリケーションインスタンスとウィンドウGDI制限

テストmachingがある: Xeonプロセッサ5520 12ギガバイトのRAM Windows 2008のウェブ最大負荷時の64ビット

(200例)、CPUは約20%であり、45%をラムので、必ずイムそのありませんハードウェアの問題。

私は既にWindowsのレジストリにセッションサイズとSharedSectionを設定しようとしましたが、それは役に立たないようです。

私はバックグラウンドで、また複数のセッション(別々のセッション)でアプリを実行しようとしましたが、それでも同じです(セッションごとに制限があります)。景気減速は、1つのセッションで例えばoccuresとき

私は別のセッションにログインすることができますし、デスクトップは問題なく動作します

私の質問がある(使用不可becomse最初のdekstop。) - GDIを除去する方法がありますオブジェクトを削除するか、GUIを使用しないでください。それとも窓の制限ですか?

p.s - 私は3番目のparyからアプリを変更できません。

ありがとうございます。

答えて

0

200のインスタンスが実行されていると、定数コンテキストの切り替えによってパフォーマンスが低下する可能性があります。コンテキスト切り替えは、CPU負荷ではカウントされません。

編集:whoops、間違ったリンク。お使いのシステムに http://technet.microsoft.com/en-us/library/cc938606.aspx

+0

こんにちはニック、私はそれが何を意味するかわからない、それを見てくださいここで見てくださいhttp://www.2shared.com/photo/5FE2sbCu/server-load.html。あなたの助けに感謝。 – user615346

0

を切り替える

てみ監視コンテキスト私はそれがGDIだ疑い - あなたはGDIが不足した場合に処理/リソースを使用すると、再描画に失敗あなたの窓の広大な塊に気づくのではなく、everythign減速します。

パフォーマンスの急激な低下の最も一般的な理由は、すべてのプロセスがCPU時間を争うように、RAMを最大限に活用して仮想メモリをスリルしていることです。メモリ使用量を確認し、メモリ使用量が多い場合は、アプリケーションのフットプリントを減らすことができるかどうかを確認してください。または、RAMを増設して「ハードウェアの修正」を適用してください。あるいは、あなたのCPUに一定のタイムスライスが要求されないように、できるだけアプリケーションにスリープを追加してください(そして、VMから絶えずページングする必要があります)。

+0

こんにちはJason、レジストリを調整する前に、私があなたが説明した問題がありました。ラムについて - 私はその前に、メモリ使用量は約45%で、CPUは20%であるため、物理的なハードウェアの問題ではないと確信しています。早速のお返事ありがとうございます。他のアイデア? – user615346

+0

アプリはスケーラビリティのない何かを行うでしょうか? 200のインスタンスが実行されることを期待していなければ、それ自体が干渉する何かをする可能性があります。 orignalの作者は、200インスタンスが同時に実行されるシナリオを想像していなかった(例えば、ファイルのような共有リソースの競合、インスタンスのグループ全体へのメッセージブロードキャスト、共有メモリなど)。 –

+0

最終的に、あなたが実行しているアプリケーションを「所有していない」場合、あなたができることはあまりないかもしれません。ただし、小さな調整を適用することができます(例:あなたはGDIリソースの使用量を減らすことができるかもしれません。ただし、すべてのアプリをオフスクリーンで開くことができます。プロセスモニタを試して、何が起こっているかについてのヒントを見つけることができるかどうかを確認することができます(たとえば、ハードディスクドライブの使用状況は - 45%ですか、それとも最大ですか?それはI/Oかもしれません - おそらくRAMディスク上に重要なリソースを置くことが助けになるかもしれません) –

関連する問題