IIS 6 – 应用程序池上的CPU限制

因此,在最近发生的一次DDoS攻击之后,我们的一个站点将该服务器上的所有站点都closures,我开始考虑如何阻止这种情况在所有站点上产生这样的影响。 如果DDoS下的网站出现故障,我可以通过其他方式处理。 这是我担心的其他网站。

我可以使用“最大使用的内存”设置轻松处理内存使用情况,这一切都很好。 但是对于CPU使用率来说,这似乎并不那么简单。

到目前为止,我的方法是使用以下设置的CPU监视

  • 最大CPU使用率(百分比) – 60
  • 刷新CPU使用率数字(以分钟为单位) – 5
  • 已执行的操作 – 关机

有了这些设置(当运行一个锤击CPU的testing时),大约90秒(不知道为什么它的90秒?!)的CPU使用率超过60%,该工作进程发生以下情况:

  • 事件日志中的消息“应用程序池”TestAppPool“超出了其作业限制设置”
  • 大约10秒钟后,应用程序池停止。
  • 大约5分钟(“刷新CPU使用率”设置)稍后会自动重新启动。

这不是很好,因为如果它持续的DDoS攻击,5分钟后应用程序池将再次受到攻击。

从本质上讲,我想要达到的目标是一个网站被打击并不会打断服务器上的其他人,我甚至不介意在防火墙/networking层面纠正问题之前是否永久停止。 理想情况下,我并不想使用请求队列限制,就像我以前发现的那样,随着多个站点上的stream量波动,这可能是一个噩梦来pipe理。

我是否以错误的方式去做这件事? 像PLESK或其他共享主机环境的系统如何处理这样的事情?

干杯!!!

如果您使用IIS 7,我想build议您尝试使用dynamicIP限制 。此模块可以通过dynamic阻止恶意IP轻松检测和防止DOS攻击。