概述
诊断中
在诊断导致应用程序池出现问题的方面,您可以:
选择服务器
转到IIS>工作进程
这应该弹出一个这样的菜单,以便您可以确定哪个App Pool正在运行。
您可以从那里简单地重新启动应用程序池,并在10次中重新启动9次,这将解决您遇到的所有即时问题。
治疗
除非您经营某种有争议的业务,否则这可能不是DDOS攻击。 某些代码可能正在挂起,因为它们无法通过另一台服务器,或者陷入了循环或资源分配错误,或者您的应用程序池有一段时间没有被回收。
您可以通过编程方式解决此问题,而无需手动标识,登录和回收应用程序池。 只需在您的应用程序池中配置CPU属性。 只要您在一定时间内达到CPU阈值,就可以杀死它(并自动重新启动)您的进程。
对于您的情况,如果希望它以80%的速度重新启动,则可以右键单击应用程序池,然后转到“高级设置”并应用以下配置:
注意:正如kraken101所指出的,随着时间的推移,不同的IIS GUI对此进行了不同的对待。 虽然config值始终为%的1/1000,但有时GUI会占用全部百分比。
您可以像这样将其添加到配置部分:
另外,您可以使用Powershell的WebAdministration Module编写脚本,如下所示:
(*确保启用了网络脚本工具)
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
预防
上面的步骤将帮助您修复某些一旦损坏的问题,但是并不能真正解决您遇到的任何潜在问题。
以下是进行性能监视的一些资源:
解决IIS 7.x应用程序池中的高CPU故障
MSDN-性能调整和监视
IIS扩展-Web性能监视器
使用跟踪对失败的请求进行故障排除
性能监控器
日志解析器
最后
以上就是文艺小鸭子为你收集整理的设置iis网页服务器cpu占比,asp.net-如何防止由于iis中的工作进程而导致CPU使用率100%...的全部内容,希望文章能够帮你解决设置iis网页服务器cpu占比,asp.net-如何防止由于iis中的工作进程而导致CPU使用率100%...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复