w3wp висит - возможны заблокированные темы? Попытка отладки с помощью WinDbg
У меня были проблемы на прошлой неделе, когда одно из моих веб-приложений, работающих на IIS, зависало в случайное время, по крайней мере, один раз в день, мне пришлось перерабатывать пул приложений, чтобы вернуть его к жизни. Процессор и память кажутся нормальными.
Когда я смотрю на активные потоки в разделе рабочих процессов в диспетчере IIS, я вижу, что потоки накапливаются, как будто они застряли, когда он зависает, там около 25+ потоков, при нормальной работе 3-6 в любой точке,
Я предполагаю, что это может быть связано с изменением кода в моем веб-приложении на C#, но я не могу понять, где / что это, было только несколько незначительных изменений, которые я помню.
На прошлой неделе я действительно изо всех сил пытался диагностировать с помощью нескольких инструментов, таких как WinDbg и dotTrace, чтобы посмотреть, смогу ли я отследить что-нибудь очевидное, но сейчас я немного над головой.
Я вижу, что к моей базе данных NoSql (RavenDb) подключено множество потоков с ошибками тайм-аута, однако я считаю, что это красная сельдь, и потоки заблокированы в IIS, поскольку я могу подключиться к той же базе данных из другого приложения IIS просто отлично, а также использовать инструменты управления базой данных для управления / запроса базы данных.
У меня есть мини-дампы и снимки dotTrace для игры.
Вот результаты "~*e! Clrstack" на WinDbg: https://gist.github.com/phinett/7901d82fa526696d3c92
Любая помощь / идеи о том, что я должен искать, чтобы выследить преступника? Я рад предоставить доступ к мини-дампам, если это будет необходимо.
Благодарю вас!
1 ответ
Вероятно, намного проще и быстрее начать с DebugDiag v2 update 1 и вызвать дамп процесса, а затем запустить анализ зависания.