Наш процесс W3WP на нашем производственном сервере постоянно высок. Он не достигает максимума в 100%, но перескакивает на справедливый уровень 90%. Чтобы разобраться в этом, я профилировал живое приложение с помощью JetBrains dotTrace.
Результаты были такими, как ожидалось. Все медленные методы были функциями NHibernate, которые запрашивали нашу базу данных. Мой вопрос: будут ли эти медленные методы действительно влиять на ЦП на нашем веб-сервере, поскольку наш сервер базы данных находится на отдельном компьютере. Конечно, если сервер базы данных выполняет какую-то работу, тогда веб-сервер просто ждет ответа, и ЦП не должен увеличиваться?
Если это так, как мне использовать dotTrace (или другой инструмент, если необходимо), чтобы определить, где используется ЦП, а не сервер, просто ожидающий ответа откуда-то еще?
Снимок экрана dotTrace с горячими точками
Вы можете видеть из снимок экрана, который большую часть времени тратит на ожидание завершения внешних HTTP-запросов. Однако это не должно влиять на использование ЦП на веб-сервере. Я бы подумал