Назад | Перейти на главную страницу

IIS 7 - как отследить загадочное использование сети и процессора?

У меня есть 64-битный сервер Server 2008 (R1), на котором запущен IIS. Пользователи жаловались на очень медленную загрузку страниц. Покопавшись, я обнаружил:

  1. После изоляции окна, так что только один пользователь мог подключиться, каждый веб-запрос вызывал скачок ЦП до 30% примерно на две секунды, даже на простейших страницах. Глядя на код, нет очевидной причины для такого использования.

  2. NewRelic показывает> 10 потерянных для «сети», хотя весь доступ осуществляется через 100-мегабайтную локальную сеть, а perfmon показывает, что длина выходной очереди сети равна нулю.

Мы не можем найти в коде ничего, что могло бы вызвать такую ​​высокую активность ЦП, или ответа на вопрос, почему NewRelic считает, что существует проблема с сетью.

Ищу предложения, что делать дальше.

В Windows Server 2008 по умолчанию включена новая сетевая функция Scalable Networking Pak. Я думаю, что эта функция вызывает больше проблем, чем решает. Вот 2 статьи, посвященные этой проблеме:
Дымоход TCP
Статья службы поддержки Microsoft: KB951037

Вы также можете найти Отслеживание неудачных запросов здесь полезно. Имя на самом деле слишком конкретное, потому что функция позволяет отслеживать любой тип запроса.

Тесс Феррандес из MSDN написала блестящую статью о устранение неполадок производительности с отслеживанием неудачных запросов, определенно стоит прочитать в этом типе сценария