我有一台在 VMware ESXi 上运行 Server 2003 和 SQL Server 2008 的虚拟机。我可以放心地假设此配置可以应对 vCPU 数量的变化吗?有没有更好的解决方案来满足客户的需求?更多信息如下...
升级到使用 SQL 的软件后,我发现 SQL 服务器的 CPU 需求显著增加,通常几分钟内就会达到 100%。用户抱怨软件响应缓慢。VM 只分配了一个 vCPU。我建议的解决方案是增加分配给 VM 的 vCPU 数量。
有没有人有使用这种配置增加 vCPU 数量的经验?唯一让我害怕的是 vSphere 中的警告,即“安装客户操作系统后更改可能会使虚拟机不稳定”。阅读类似问题的回复,似乎它应该可以正常工作而不会发生意外。
是否最好也为该虚拟机保留一些 CPU 或通过资源“共享”属性更改处理优先级?
答案1
KB888729:如何向运行 Windows Server 2003、Windows Server 2008 等的计算机添加处理器。:
当您重新启动计算机时,即插即用会检测并安装一个或多个处理器。
Windows Server 2003、Windows Server 2008、Windows Server 2008 R2、Windows Vista、Windows 7 和 Windows XP Professional x64 Edition 的所有版本均使用高级配置和电源接口 (ACPI) 高级可编程中断控制器 (APIC) 硬件抽象层 (HAL)。
- 关闭虚拟机
- 添加 CPU/s
- 打开
- 登录虚拟机控制台,一分钟后,您会收到一条常规消息,提示需要重新启动才能使新硬件正常工作
- 重启
此后,您应该在任务管理器中找到 2 个 CPU(或者,如果您添加了多于 1 个,则找到多个 CPU)。
还值得一提的是,这可能无助于解决问题,因为性能问题可能出在其他地方,例如磁盘访问、编写不当的 SQL、设计不良的表格等。性能调整 SQL 服务器本身就是一个高级主题,但添加更多 vCPU 肯定足够快速和容易,至少值得尝试。
我不会开始处理预留和共享,除非您发现主机上的 CPU 使用率特别高,这可能会导致 VM 客户机之间的争用。
答案2
通常,您应该可以在此配置中添加虚拟 CPU 以缓解争用问题。不过,您没有提到您的硬件配置或使用主机资源的其他客户虚拟机。
你有这样的能见度吗?
我不会在这个时候搞乱预订。你能汇报一下概括选项卡?
答案3
您可以安全地添加另一个 vCPU。启动时,Windows 会将 HAL 从单处理器升级为多处理器。