扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
来源:赛迪网 2012年12月13日
关键字: IIS 节流 CPU Windows Server 2012
在Windows Server的老版本 IIS 中已经包含 CPU 节流功能,并且也有不错的体现,但是作为微软重磅推出的Windows Server 2012,似乎严格的追求了产品的高性能, IIS 8.0 的功能也进行了很大的改进。具体的改进体现在什么地方,我们一起来看一下。
在老版本 IIS 中,通过轮询机制定期检查 CPU 用量,如果用量超出阈值足够长的时间就会采取对应的操作。这种方法的问题在于,CPU 用量并不能真正受到限制——用量可能会远超配置的限制,并在足够长的时间内维持高位,随后轮询机制才会注意到。如果发现 CPU 用量超过阈值,唯一可用的“修正”操作就是关闭 IIS 工作进程(W3pw.exe)。当进程被关闭后的一段时间内,IIS 还会禁止被影响应用程序启动新的进程,因此该应用程序池不会立刻恢复,并继续消耗大量 CPU 资源。在这段时间内,对该应用程序的任何请求都将失败,这将造成很不好的用户体验。
在 IIS 8.0 中,我们与 Windows 内核团队合作完善了 CPU 用量的节流机制。通过取代古老的轮询机制设计方式,内核可以确保 CPU 用量总是维持在指定级别以下。通过这一改动,我们不再需要关闭超量应用程序的 W3Wp 进程,因此就算被限制,应用程序可以保持活跃,并继续响应用户的请求。
对于 IIS 8.0 中 CPU 节流机制,还有两个新的选项。Throttle 配置选项可以确保 CPU 用量在所有时间内都能不超过限制。ThrottleUnderLoad 配置选项则可以确保 CPU 资源使用率高时,CPU 用量能够不超过限制,但如果服务器闲置,则可以消耗更多 CPU 资源。在这种模式中,一旦其他进程需要更多 CPU 资源,IIS 工作进程就会受到限制,以确保其他进程能够获得所需资源。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者