Мне нужно диагностировать сервер, который не может достичь максимальной производительности. Использование ЦП падает до нуля примерно на 500 мс, а затем резко возрастает до 100% при попытке обработать запросы в очереди, этот шаблон повторяется в течение нескольких часов, после чего операция снова становится гладкой (операция была бесперебойной в течение многих лет)
Это говорит мне о том, что рабочие потоки простаивают в ожидании внешнего события. Приложение сложное, и мы не смогли точно определить виновника.
Можно ли настроить Process Monitor для записи в журнал каждый раз, когда поток приостанавливается в ожидании какого-либо события? Если возможно, может ли событие быть связано с определенной трассировкой стека?
Если вышеизложенное возможно, возможно, я мог бы сопоставить падения ЦП с событиями ожидания и точно определить виновника.
Я успешно использовал Windbg раньше для диагностики подобных проблем, однако в этом случае ожидание очень короткое, и я не уверен, что смогу заставить отладчик сломаться именно во время простоя процессора.