У нас есть три веб-сайта, размещенных в нашей IIS, каждый из которых имеет отдельный пул приложений, связанный с ним. Но я вижу, что процессор загружается до 100%, когда я запрашиваю страницу, процесс w3wp занимает 100% процессора. Есть ли какое-то решение для этого?
Возьмите дамп памяти и используйте windbg, чтобы проанализировать, что потребляет всю мощность процессора. Скорее всего, вы делаете что-то не так в своем коде, который занимает весь процессор.
Сначала используйте iisapp.vbs из командной строки (установлена по умолчанию, она должна быть в PATH), чтобы выяснить, какой веб-сайт вызывает проблему. В нем перечислены PID - имя AppPool.
iisapp.vbs
Установка Средства отладки для Windows
Затем с помощью командной строки выполните adplus.vbs -p PID -hang, чтобы создать дамп памяти.
adplus.vbs -p PID -hang
Изучите Учебное пособие по WinDbg и Блог Тесс , чтобы узнать, как использовать windbg для выяснения проблемы.
Получите профилировщик, присоедините его к процессу w3wp и выясните, где процессор тратит время. Тогда исправьте проблему.
Я думаю, что у вас дерьмовый серверный процессор.
У него только один логический процессор? Если это так, обновите его, по крайней мере, до двух видов ядра.
Новый Core i7 будет хорошим и относительно дешевым вариантом.