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

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

因此,在最近我们的一个网站遭受 DDoS 攻击并导致该服务器上的所有网站瘫痪后,我开始寻找方法阻止这种情况对所有网站造成影响。如果遭受 DDoS 攻击的网站瘫痪,我可以用另一种方式处理。我担心的是其他网站。

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

到目前为止,我的方法是使用具有以下设置的 CPU 监控:

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

使用这些设置(当运行锤击 CPU 的测试时),大约 90 秒后(不知道为什么是 90 秒?!)该工作进程的 CPU 使用率超过 60%,出现以下情况:

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

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

本质上,我想要实现的是,一个网站受到攻击不会拖垮服务器上的其他网站,我甚至不介意它被永久停止,直到我在防火墙/网络级别纠正问题。理想情况下,我也不想使用请求队列限制,因为我过去发现,当多个网站的流量波动时,这可能是一场管理噩梦。

我的做法是否错误?PLESK 或其他共享托管环境等系统如何处理此类问题?

干杯!!!

答案1

我建议你尝试一下动态 IP 限制如果您使用IIS 7,该模块可以通过动态阻止恶意IP轻松检测和防止DOS攻击。

相关内容