3

私は、2 つのサーバー クラスター全体でかなり大量の asp.net Web サイトを実行しています。通常の負荷は、ASP.Net Apps パフォーマンス オブジェクトによって記録されるように、サーバーごとに約 20 要求/秒です。

パフォーマンス カウンターは、1 日の定期的な時間帯に 2,000 ~ 9,000 リクエスト/秒をログに記録します。この時点でワーカー プロセスが終了し、「.Net ランタイム 2.0 エラー レポート」アプリケーション ログに「Faulting application w3wp.exe」がリストされて報告されます。

奇妙なことに、IIS は現時点で要求のバーストを記録していません。Web ログには、この時点まで通常のトラフィック ペースが記録されており、何千ものリクエストのバーストは示されていません。

サーバーは、Windows 2003 64 ビット サーバーで IIS6 を実行しています。6GBのRAMを搭載したクアッドコアのxeonです。

負荷分散されたクラスター内の 2 つのサーバーのうちの 1 つだけが、このボリュームの要求を記録します。他のサーバーは、1 秒あたりの平均要求数が 20 程度を超えることはありません。

パフォーマンス ログに、どこにも記録されていない大量の要求が表示される理由について何か考えはありますか? この負荷の原因を特定できず、何らかのアプリケーション エラーなのか、それとも本当にトラフィックのバーストなのか疑問に思っています。

犯人を追跡する方法について何か提案はありますか?

4

3 に答える 3

2

デバッグツール(Windbg&Co)を使用して、aspプロセスのクラッシュダンプを取得します。

http://blogs.msdn.com/tessをチェックしてください。

于 2009-09-02T18:57:29.533 に答える
1

WinDbg を使用してクラッシュ ダンプを表示したところ、再帰的な Server.Transfer によってスタック オーバーフローが発生したことが原因であることが判明しました。

ASP.Net Apps v2.0.50727 の Requests/Sec を示すパフォーマンス ログには、サーバー転送が新しい要求として記録されているようです。しかし、クライアントのリダイレクトを行っていないため、DOS 攻撃のように IIS ログに表示されることはありません。

ログに 1 秒あたりの要求数が多かったという事実から、これはアプリケーション エラーではないと思いました。

ご提案いただきありがとうございます。

于 2009-09-29T23:15:55.803 に答える
0

正直なところ、潜在的な DoS 攻撃のように思えます。ルーター/スイッチでログを有効にして、生のイーサネット フレームが通過していることを確認できますか? お知らせ下さい。ありがとう。

-ショーン

于 2009-09-02T16:51:49.367 に答える