![IIS、多个 CPU 核心、应用程序池和工作进程——单个站点的最佳配置?](https://linux22.com/image/500576/IIS%E3%80%81%E5%A4%9A%E4%B8%AA%20CPU%20%E6%A0%B8%E5%BF%83%E3%80%81%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%B1%A0%E5%92%8C%E5%B7%A5%E4%BD%9C%E8%BF%9B%E7%A8%8B%E2%80%94%E2%80%94%E5%8D%95%E4%B8%AA%E7%AB%99%E7%82%B9%E7%9A%84%E6%9C%80%E4%BD%B3%E9%85%8D%E7%BD%AE%EF%BC%9F.png)
我们使用 Kentico CMS,并且我与他们就网络花园部署交换了电子邮件。
我们有一个站点在一台具有 8 个 CPU 核心的服务器上运行。根据 Kentico 的建议,我们没有更改应用程序池 Web Garden 的默认设置,即,将其设置为最大工作进程数为 1。
我们的经验是,该网站仅使用其中一个 CPU 核心 - 其他核心处于空闲状态。当我通过电子邮件向他们发送此信息时,他们的回复是,即使应用程序池只有一个工作进程,OS/IIS 也会处理此问题并根据需要使用其他核心。
现在,我非常尊重 Kentico 的人,但这对我来说似乎不对?
当然,如果我们想使用所有核心,我们需要允许八个工作进程(并在 SQL 服务器中实现会话状态存储)?
非常感谢
托尼
答案1
我知道这是一个老问题,但它出现在相关问题下,所以我想我应该为那些以后可能遇到这个问题的人提供一些帮助。斯科特·福赛斯建议不要运行网络花园,因为它们会带来许多挑战。 他有一个视频关于他介绍的主题:
本周的课程讨论了为什么很少值得使用 Web Gardens 以及为什么使用它们通常会损害服务器的性能。
最大的警告是会话状态的影响,但也存在其他挑战。
答案2
你是对的,为了并行执行,你需要多个工作进程和/或多个应用程序池。
无论如何,都需要进行一些调整;您通常不能简单地运行与您拥有的 CPU 核心一样多的 WP;特别是如果 SQL Server 也在同一台服务器上运行时。