4

私は、コントローラー内にあると信じているボトルネックを見つけようとしてきました(Unity IoCの疑いがあります)。

MVC-Mini-Profilerを使用して、最も単純なタスクを実行するのに500ミリ秒かかる方法を見つけました。

ただし、DotTracerを使用してこれをトレースした後、スレッドの実行に16ミリ秒しかかからないようです...

誰かが前にこれに出くわしますか?

注意点-Web.Configではデバッグモードがfalseに設定されています

DotTracer

ミニプロファイラー

4

1 に答える 1

2

この問題の解決策を発見しました - それはすべてセッションに関連していたことが判明しました。

同じサーバーに対して 4 つの HTTP リクエストを同時に送信していたため、毎回セッション オブジェクトがロックされていたため、セッション オブジェクトのロックが解除されると、リクエストが強制的にキューに入れられて処理されました。

追加:

[SessionState(SessionStateBehavior.Disabled)]

属性としてコントローラーに追加すると、MVC2 が強制的にセッションレスになり、パフォーマンスが 10 倍になります。

(以下からの回答:

同じ ASP.NET MVC アクションに対して複数の同時 AJAX 呼び出しを行うと、ブラウザーがブロックされるのはなぜですか? )

于 2012-07-30T15:30:22.990 に答える