2008-08-13 8 views
4

イントラネット上でカスタムアプリケーションを実行していますが、最近IISを100%CPU使用率でハングアップしてリセットする必要があるため、問題を見つけました。非生産環境で負荷関連のクラッシュを複製する

ユーザーをハングアップさせるのではなく、ソリューションを決定する間、以前のリリースにロールバックしました。最初のステップは問題を再現することですが、できません。

はここにいくつかの背景です:

製品版には二つのCPUとRAMの2ギガバイトを持つ単一の仮想化(VMwareの)Webサーバーを持っています。データベースサーバには4GBと2つのCPUがあります。 VMWare上にもありますが、物理的なハードウェアは別個です。

通常の使用中、アプリケーションはうまく動作します。 w3wp.exeプロセスは通常、5〜20%のCPUと約200MBのRAMを使用します。通常の使用ではCPUとRAMはわずかに変動しますが、珍しいことはありません。

しかし、問題が発生し始めると、RAMは劇的に上昇し、CPUは98%(またはそれが得ることができる程度)でペグを起こします。サイトが応答しなくなり、IISを再起動する必要があります。この状況では、アプリケーションプールをリセットしても何も起こりません。完全なIISの再起動が必要です。

夜間には使用されません(使用しない)。サイトが負荷を受けているときにはもっと多くのことが起こりますが、ピーク時でも発生しています。

この問題を解決するための第一歩は、それを再現することです。負荷をシミュレートするために、JMeterを使用してシミュレーションを開始します。私たちの負荷スクリプトは、クラッシュ時の実際の使用状況に基づいています。 JMeterを使用することで、使用量を非常に高く(クラッシュ中の負荷の2〜3倍)することができますが、サイトは正常に動作します。 CPUが高くなり、サイトが低速になりますが、メモリ使用量は妥当で、何も吊り下げられていません。

プロダクション以外の環境でこのような問題を再現する方法に関するヒントはありますか?私たちは本当にエラーを再現し、解決策を決定してから、もう一度テストして解決したことを確認したいと思います。このプロセスでは、問題を解決するために改良した小さなものがいくつか見つかりましたが、問題を再現して改良版をテストできるかどうかはもっと自信があります。

どんなツール、テクニック、または理論も高く評価されています。

+0

IISおよび/またはアプリケーションのログ機能があるとしますか?問題が始まると、正確に何が起こっているのでしょうか?負荷テストがシミュレートするものとはどのように違いますか? –

+0

私は同じ問題を抱えています。あなたのVMWareパフォーマンスログを見て、1〜2ヶ月以上のメモリを見てください。メモリリークがあるようです。私たちは全く同じウェブサイトを実際の物理サーバ上で問題なく実行していましたが、IISとVM웨어の問題です。あなたの質問に答えるには、しばらく(数週間)ロードツールを実行し、テストサーバーでトレースを設定してみてください。解決策を見つけたら、投稿してください、私はどこにもいません。 – Mike

答えて

1

this blog entryにこの種の問題のトラブルシューティングに関する情報があります。彼女のブログは一般的に良いデバッグリソースです。

0

あなたのテスト環境は本当にライブと同じですか? つまり、 2つの物理サーバー上に2つの別々のVMインスタンスがあります - ネットワーク接続とアカウントの種類がありますか?

データベースには他のインスタンスがありますか?

IISには他のWebアプリケーションがありますか?

.Net設定権はありますか?

サービスアカウントのApp Pool Config権限はありますか? Try look at this - MS Article on II6 Optmising for Performance

たくさんのトリックです。

関連する問題