场景:4 个 Web 服务器中,有 1 个 CPU 利用率达到 100%,其他所有服务器的 CPU 利用率最高都达到 90%
我最近克隆了一个新的 Web 服务器(2008r2、iis6)并将其添加到生产工作负载中(使用 NetScaler 进行负载平衡)
最近,SaS Web 应用程序的响应时间变慢,我意识到容量问题 - 这是应用程序变慢的根本原因
我们的监控解决方案 - zabbix - 表明 3 个 Web 服务器(原始 3 个)的 CPU 占用率达到 90%,而第四个新 Web 服务器的 CPU 占用率达到 100%
这种行为表明克隆过程中未包含一项设置,该设置允许第四个 Web 服务器使用其所有 CPU,而其他三个 Web 服务器设置为仅允许达到 90%,并留下 10% 的空闲空间
我无法找到配置此功能的设置,并且在检查以下内容后想不出任何其他地方可以查找:
IIS - 应用程序池 - 高级设置(限制 + 限制操作等) Windows 资源管理器 IIS 配置文件 - Application.Host XenServer(虚拟化主机)
有人可以建议其他地方看看吗?或者有针对这种情况的经验吗?
答案1
您无法本地限制每个进程的 CPU 数量。
您需要检查 CPU 的使用情况并据此进行调整。
另一方面,请检查服务器与其他服务器的 CPU 配置。例如,我看到监控工具显示 CPU 使用率为 50%(对于具有 2vcpu 的服务器),而实际上该进程的 CPU 达到 100%,但只有一个核心。因此,这是监控工具配置错误,因为当进程达到 100% 时,它会停止响应请求,即使另一个 CPU/核心已准备就绪。它可以解释 Zabbix 中的结果。