2012-01-29 3 views
6

ここでグラフを見ると、ボトルネックを特定するにはどうすればよいですか?ご覧のように、リクエストは負荷がかかってから約14秒間平均され、その時間の大半はNew RelicのプロファイリングデータのCLRに起因します。特定のページのパフォーマンスの内訳では、大部分の時間はWebTransaction/.aspxページの属性になります。どのperfmonカウンタがASP.NETのボトルネックを特定するのに便利ですか?

stats captured by new relic during load test

+0

おそらく、この遅延を行ったページのスタンダードセッションロックを使用してデータベースから読み込むための遅延。私が見ているようにオレンジも上がっています。 – Aristos

+0

@Aristosでは、「標準セッションロック」の意味を詳しく説明できますか? – RyanW

+0

これは、次のことを意味します:http://stackoverflow.com/questions/8989648/replacing-asp-nets-session-entirelyセッションを使用すると、セッションデータのためにこのページの終了処理まですべてのページがロックされます。 – Aristos

答えて

3

stats for a page私は、データベースも(オレンジ)readedされていることが分かり、これは全てのページの一つは、そのセッションが上にするためにロックのページの残りを遅らせていること縫い目ですページ。 Replacing ASP.Net's session entirely

私の提案は完全にされたセッションの呼び出しを削除し、これが不可能な場合は、あなたの自己によってデータベースのどこかにそれらを保存するための他の方法を見つける:

あなたも読むことができます。

実際に私のページでは、3つのオプションすべてを作っています。 1.私はセッションを外してページを呼び出します。 2私はユーザークッキーに接続された値である完全にカスタムセッションを作りました。そして最後に3。私はセッションから離れて実行されたスレッドを作成し、バックグラウンドで計算を行いました。

場合によっては、セッションがないページを呼び出すiframeで計算が行われ、後で結果が表示されます。

1

Proバージョンでは、問題の発生場所を正確に特定するのに役立つトランザクショントレースを使用できます。

関連する問題