Диагностика в IIS
От: Keith  
Дата: 09.08.17 16:21
Оценка:
Добрый день,

Ситуация:
— ЦП постоянно на 40%,
— пул содержит один-два десятка запросов
— некоторые запросы висят по 30 минут(!)
Со временем количество запросов в обработке может вырасти и ЦП стать 100%.
Память не сожрана, в сеть не упирается.
В System Events ничего интересного нет.
Локально не воспроизводится.
К проблемному серверу есть полный доступ.

Как правильно померять что происходит?

зы IIS 7, Windows Server 2016, asp.net mvc 4
Отредактировано 09.08.2017 16:26 Keith . Предыдущая версия . Еще …
Отредактировано 09.08.2017 16:25 Keith . Предыдущая версия .
Отредактировано 09.08.2017 16:22 Keith . Предыдущая версия .
Re: Диагностика в IIS
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 11.08.17 11:47
Оценка:
Здравствуйте, Keith, Вы писали:

K>Как правильно померять что происходит?

K>зы IIS 7, Windows Server 2016, asp.net mvc 4

У меня не очень много опыта в решении проблем производительности, но я бы, наверное, начал с настройки Failed Requests Tracing
Там в частности можно записывать события, которые выполнялись более определенного времени.
Вот тут Troubleshooting a performance issue with Failed Request Tracing and appcmd in IIS7 есть немного о том, как проанализировать результат.

Ну а дальше смотреть — если проблема в вашем коде, если есть запрос на котором она более-менее четко воспроизводится, то дальше можно попытаться снять полноценный трейс, используя, например, ETW + PerfView
По поводу последнего можно посмотреть блог основного разработчика Vance Morrison's Weblog (PerfView), а также у него был записанный туториал PerfView Tutorial (в том числе там есть примеры анализа ASP.Net приложений)
Re[2]: Диагностика в IIS
От: Keith  
Дата: 12.08.17 14:15
Оценка:
Спасибо за развернутый ответ!
Запросы завершались без ошибок, просто долго висели.


МР>Ну а дальше смотреть — если проблема в вашем коде,

Скорее всего, хотя Process Monitor говорит, что большая часть времени проходит в kernel-коде.

МР>если есть запрос на котором она более-менее четко воспроизводится,

На всех одинаково.

МР>то дальше можно попытаться снять полноценный трейс, используя, например, ETW + PerfView

Спасибо, в следующий раз буду знать, а в этот раз проблему нашли откатом изменений и дело оказалось в логгере, которые не мог создать файл т.к. не было прав.
Re: Диагностика в IIS
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 12.08.17 20:52
Оценка:
Здравствуйте, Keith, Вы писали:

K>Как правильно померять что происходит?


Способов много. Самый простой первый шаг — делаете в момент висящих запросов дамп w3wp и внимательно изучаете его локально в отладчике.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[2]: Диагностика в IIS
От: Keith  
Дата: 13.08.17 14:47
Оценка:
K>>Как правильно померять что происходит?
AVK>Способов много. Самый простой первый шаг — делаете в момент висящих запросов дамп w3wp и внимательно изучаете его локально в отладчике.

Спасибо за ответ!
Дамп всего процесса?
В каком отладчике лучше изучать? WinDbg?
Re[3]: Диагностика в IIS
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 14.08.17 01:47
Оценка:
Здравствуйте, Keith, Вы писали:

K> Дамп всего процесса?


Да.

K> В каком отладчике лучше изучать? WinDbg?


В студии.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.