Какие счетчики perfmon полезны для выявления узких мест ASP.NET? - PullRequest
6 голосов
/ 29 января 2012

Учитывая диаграмму здесь, на что я должен смотреть, чтобы определить узкое место? Как видите, запросы в среднем находятся под нагрузкой около 14 секунд, и большая часть этого времени приписывается CLR в данных профилирования New Relic. В разбивке по производительности для конкретной страницы он приписывает большую часть времени странице WebTransaction / .aspx.

stats captured by new relic during load test

stats for a page

Ответы [ 2 ]

3 голосов
/ 30 января 2012

Я вижу, что база данных также читается (оранжевым цветом), и это швы, что одна из всех страниц задерживает остальные страницы из-за блокировки, которую сеанс делает на страницах.

Вы также можете прочитать: Полная замена сессии ASP.Net

Мое предложение полностью удалить сеансовые вызовы, и, если это невозможно, найдите другой способ сохранить их где-нибудь в базе данных самостоятельно.

На самом деле на своих страницах я сделал все три возможных варианта. 1. Я звоню на страницу без сессии. 2 Я создал полностью пользовательский сеанс, значения которого связаны с пользовательским файлом cookie, и последние 3. Я создал потоки, которые запускаются вне сеанса, и они выполняют вычисления в фоновом режиме, а когда они заканчивают, я показываю результаты.

В некоторых случаях вычисления выполняются на iframe, который вызывает страницу без сеанса, и позже я показываю результаты.

1 голос
/ 30 января 2012

В версии Pro вы можете использовать Transaction Traces, которые помогают точно определить, где происходит проблема.

...