Мой процессор в большинстве случаев используется на 100% в Windows Server 2008-R2 с моими собственными vps, vmware, четырехъядерным процессором и 4GB Ram. Когда я открываю Windows Task Manager и перехожу к монитору ресурсов, я вижу, что 100% использование происходит из-за workerprocess.exe
. У меня есть 3 сайта в моем IIS .
Я установил eset-nod32 на своих vps, но он не показывает никаких атак в журналах. Я пытался найти информацию об IIS и предотвращении DDOS, и только что нашел расширение для запрета IP-адресов, но как я могу найти, какой IP-адрес генерирует трафик?
Веб-сайт написан на ASP.NET
и C #
. Как я могу определить, что происходит на этом веб-сайте и какие строки кодов вызывают такое использование cpu?
Кроме того, один из моих веб-сайтов должен получить доступ к рабочему столу администратора и прочитать и написать некоторые файлы. Поэтому из-за этого я изменил пул приложений - > личность (модель процесса) для локальной системы, и я не знаю, связана ли она с использованием процессора или нет.
С точки зрения диагностики того, что App Pool вызывает проблемы, вы можете:
Настройки сервера! Это должно вызвать такое меню, чтобы вы могли определить, какой пул приложений работает не в порядке.
Рабочие процессы! Оттуда вы можете просто перезапустить пул приложений и 9 раз из 10, что устранит любые непосредственные проблемы, которые у вас возникают.
Если вы не управляете каким-то спорным делом, это, вероятно, не атака DDOS. Вполне вероятно, что какой-то код просто зависает, потому что он не мог дозвониться до другого сервера, застрять в цикле, неправильно распределить ресурсы или ваш пул приложений просто не был переработан в течение некоторого времени.
Вы можете решить эту проблему программно, не вызывая вручную, войти в систему и перерабатывать пул приложений. Просто настройте свойство CPU в вашем пуле приложений. Вы можете заставить его убить (и автоматически перезапустить) ваш процесс в любое время, когда вы достигнете порога ЦП в течение определенного периода времени.
В вашем случае, если вы хотите перезапустить его на 80%, вы можете щелкнуть правой кнопкой мыши по пулу приложений и перейти в «Дополнительные настройки» и применить следующие конфигурации:
Усовершенствованные настройки пула приложений! ПРИМЕЧАНИЕ : Как указывалось kraken101, разные графические интерфейсы IIS со временем относились к этому по-разному. Хотя значение конфигурации всегда составляет 1/1000%, иногда графический интерфейс принимает весь процент.
Вы можете добавить это в раздел ваша конфигурация следующим образом:
<applicationPools>
<add name="DefaultAppPool">
<cpu limit="80000" action="KillW3wp" resetInterval="00:01:00" />
</add>
</applicationPools>
Кроме того, вы можете написать сценарий с помощью Powershell Модуля веб-администрирования, как это: (* убедитесь, что веб-сценарии включены) < / sup >
Import-Module WebAdministration
$appPoolName = "DefaultAppPool"
$appPool = Get-Item "IIS:\AppPools\$appPoolName"
$appPool.cpu.limit = 80000
$appPool.cpu.action = "KillW3wp"
$appPool.cpu.resetInterval = "00:01:00"
$appPool | Set-Item
Вышеуказанные шаги помогут исправить некоторые вещи после того, как они сломались, но на самом деле не решат никаких основных проблем, которые у вас есть.
Вот некоторые ресурсы по мониторингу производительности:
Ну, это может занять много времени, чтобы понять. Несколько точек, чтобы сузить его:
Есть много причин, по которым вы можете видеть высокое использование процессора w3wp.exe. Я выбрал шесть общих причин для покрытия.
Используйте PerfMon для сбора данных и DebugDiag для анализа.
Нашел эту ссылку при поиске аналогичной проблемы.
Недавно я столкнулся с теми же проблемами и нашел решение, которое сработало для меня и значительно снизило уровень потребления памяти.
Решение:
Прежде всего найдите приложение, которое вызывает интенсивное использование памяти.
Вы можете найти это в разделе «Сведения» диспетчера задач.
Следующий.
Если это решение работает для вас, пожалуйста, добавьте комментарий, чтобы я мог знать.
Если в этом нет необходимости, отключите «Включить 32-битные приложения» из соответствующего пула приложений вашего сайта.
Это сработало для меня на моей местной машине
Недавно у меня была эта проблема, и как только я определил, какой AppPool вызывает проблему, единственным способом решения проблемы было полное удаление этого пула приложений и создание нового для использования сайта.