设置iis网页服务器cpu占比,asp.net-如何防止由于iis中的工作进程而导致CPU使用率100%...

诊断中

在诊断导致应用程序池出现问题的方面,您可以:

选择服务器

转到IIS>工作进程

idFQ4.png

这应该弹出一个这样的菜单,以便您可以确定哪个App Pool正在运行。

AD0pX.png

您可以从那里简单地重新启动应用程序池,并在10次中重新启动9次,这将解决您遇到的所有即时问题。

治疗

除非您经营某种有争议的业务,否则这可能不是DDOS攻击。 某些代码可能正在挂起,因为它们无法通过另一台服务器,或者陷入了循环或资源分配错误,或者您的应用程序池有一段时间没有被回收。

您可以通过编程方式解决此问题,而无需手动标识,登录和回收应用程序池。 只需在您的应用程序池中配置CPU属性。 只要您在一定时间内达到CPU阈值,就可以杀死它(并自动重新启动)您的进程。

对于您的情况,如果希望它以80%的速度重新启动,则可以右键单击应用程序池,然后转到“高级设置”并应用以下配置:

h6psb.png

注意:正如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性能监视器

使用跟踪对失败的请求进行故障排除

性能监控器

日志解析器

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值