5

ASP.NET 2.0、.NET 2.0 Framework、およびIIS 7を使用しています。「ワーカープロセス」オプションの下に、「要求」の大きなキューが表示されます。記録された状態は、何よりもそうでAuthenticate Requestあるように見えます。Execute Request Handles

(32ビットパスと64ビットパス)を次のように修正aspnet.configしました。C:\Windows\Microsoft.NET\Framework64\v2.0.50727

maxConcurrentRequestsPerCPU="50000"
maxConcurrentThreadsPerCPU="0"
requestQueueLimit="50000"

(32ビットおよび64ビットパス)を次のように修正machine.configしました。C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG

autoConfig="false"
maxIoThreads="100"
maxWorkerThreads="100"
minIoThreads="50"
minWorkerThreads="50"
minFreeThreads="176"
minLocalRequestFreeThreads="152"

それでも私はこの問題を抱えています。

この問題は、ワーカープロセスキュー内の多数のリクエストとして現れます。

この問題が発生した場合、Webサイトへの現在の接続数は500を表示します。この問題が発生しない限り、500を超える同時接続は見られなかったと思います。

リクエストがブロックされると、Webアプリケーションの速度が低下します。

アプリケーションプールの更新は、負荷が2つのプールに分散されるため、しばらくの間(予想どおり)解決されます。

問題のアプリケーションプールFIXEDREQUESTは、50000に更新するように設定されています。

注:.NET 3.5フレームワークは、2.0フレームワークのappnetとマシン構成ファイルを使用していると思います。

サーバーリソース(CPU、RAM)が最大限に活用されていません。

4

3 に答える 3

3

Tess Ferrandezのサイトにある資料をご覧になることをお勧めします。壊れている場合は、修正する必要があります。

実行したいのは、リクエストキューで多数のリクエストが発生したとき、およびアプリが停止し始めたときに、ADPlusを使用してワーカープロセスのダンプをキャプチャすることです。

このダンプを取得したら、これをWinDBG + SOSにロードして、原因の追跡を開始します。

Tessには、これらのツールを効果的に活用する方法に関する一連のすばらしいラボがあります。

.NETデバッグデモ-情報とセットアップ手順

可能であれば、プロファイラーをアプリケーションに接続することもできます(RedGateのパフォーマンスプロファイラーなどを使用して、根本的な原因を見つけようとします。

于 2011-04-17T12:53:43.493 に答える
1

結局、ワーカープロセスを1から2(ウェブガーデン)に増やしました。セッションを使用していたため、問題は再発していませんが、1か月の間に、エンドユーザーからのセッションの問題の報告はありません。

追加するために編集:

特定の問題は、バグではなく、ワーカープロセスサーバー側で処理される非常に大きなCSVレポートの生成に関連していました。HTMLレポートは問題なく、XML変換はクライアント側に渡されます。

ワーカープロセスの分離により、サーバー側のxml変換からcsvファイルの作成を追加プロセスに渡すことができるようになるまで問題が解決されたため、他のユーザーからの影響がなくなりました。CSVレポートを作成しようとしたときに使用していたファイルのサイズ/行数に単純になりました。

于 2011-08-17T07:49:26.370 に答える
1

KBの記事http://support.microsoft.com/kb/821268をフォローし、まだ問題が発生している場合は更新してください。

IIS7でFREBトレースを試すこともできます。http://learn.iis.net/page.aspx/266/troubleshooting-failed-requests-using-tracing-in-iis-7/

于 2011-04-15T13:33:26.653 に答える