Какие счетчики perfmon полезны для выявления узких мест ASP.NET?

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

статистика, полученная новой реликвией во время нагрузочного теста

статистика для страницы

2 ответа

Решение

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

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

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

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

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

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

Другие вопросы по тегам