独立单线程优化服务器与在 VMWare 上运行的虚拟机

Joh*_*092 3 performance multi-core performance-tuning threads vmware-esxi

我为我的帖子的长度道歉。

我们最近将我们的业务系统转换为按内核数授权的产品。我们购买了 2 核许可证,目前正在 VMWare 上运行它。升级到下一个许可证级别的成本非常高。

我们遇到了一些非常重要的性能问题。我们已经消除了作为瓶颈的 RAM,以及网络、数据库和磁盘访问。我们遇到问题的时候并不总是以高 CPU 使用率为特征。有时cpu使用率低于20%,但CPU Ready却很高。

我正在考虑直接在单独的物理服务器上运行它的可能性。由于我仅限于两个内核,因此我会选择我可以获得的最快的“单线程性能”cpu,可能是 4 个内核。然后我会将业务系统设置为使用 2 个内核,并允许操作系统使用其他 2 个内核。

我的逻辑是这样的。现在 VM 有两个线程或 vCPU。这实际上只是一个 pCPU。即使我在没有超线程的情况下将它移到同一个盒子中,它也会获得 2 个完整内核而不是 2 个 vCPU。但是如果我选择一个在单线程上速度更快的芯片,我可以获得更多。我也可能会有一点收获,因为我不会再虚拟化它了。

我们目前的 6 核 cpu 根据 Passmark 得到以下分数。CPU 分数:8570 单线程性能:1403

我想要的 4 核处理器获得这些分数。CPU 分数:10231 单线程性能:2287

专门构建一个服务器来为这样的应用程序获得最佳的单线程性能是否有意义?有什么我需要担心的缺点吗?更新的操作系统会产生很大的不同吗?

当前的主机服务器具有以下规格: Proliant DL380 G7 2 物理 CPU:Intel(R) Xeon(R) X5675 @ 3.07 GHz 6 核 每个为 24 个逻辑处理器 (vCPU) 总数启用超线程。144 GB 内存

存储在较新的 SAN 上,我确信这不会影响我们的性能问题。

业务系统 VM 配置有 2 个 vCPU 和 24 GB RAM。操作系统为 Windows Server 2008 R2。业务系统软件经过优化,可在 IIS 应用程序池中的 4 - 6 GB RAM 上运行。我从未见过使用中的 VM 超过 16 GB。

我们还在主机上运行其他 3 个 VM。一个现在确实做得很少,并且可能会在不久的将来被关闭。它有 2 个 vCPU 和 8 GB 的 RAM。

第二个是运行我们的 MS Sql 数据库。那个有 8 个 vCPU 和 64 GB 的 RAM。我们让 DBA 看了看,他认为这不是我们问题的原因,至少不是从数据库性能方面来看。

第三台虚拟机正在运行我们的公共网站。它在 CPU 上平均不到 25%。它有 3 个 vCPU 和 16 GB 的 RAM。

再一次,您可以提供的任何帮助或智慧都将非常棒且不胜感激。

谢谢!

Str*_*ils 5

你的假设是正确的。对于您的特定情况,堆叠 Mhz 而不是 vCores 是正确的方法。看看这个处理器:(具有 4 个 3,5-3,7 Ghz 物理内核 + HT)。

但是,除非您可以提供实际的“CPU 就绪”值,否则我无法从您所描述的内容中看出真正的问题。