我们对 VMWare 还很陌生,想了解一下我们的环境。我们有一个 VMWare 集群,其中一台主机上有:
VM#1:MS Windows 2008 R2 Enterprise 和 SQL Server 2012
VM#2:MS Windows 2008 R2 Standard 和 IIS
IIS asp.net 应用程序直接与 SQL Server 通信。几个月前,我们在物理服务器上有类似的环境,最近才转移到虚拟化环境。
至于设置,我们没有调整任何虚拟机资源参数——所有参数均设置为标准并且一切正常。
观察到的情况是虚拟机似乎运行缓慢,响应出现延迟。当然,这不如旧的物理环境快,但我想知道:
*在同一台主机上运行 SQL 服务器和 IIS 服务器是个好主意吗?它们是主机上仅有的两个虚拟机。主机是一台新的 Dell R620,内存为 192 GB。
当看起来不存在任何争用时,更改任何 CPU 或内存预留是否有意义
有没有办法让虚拟机保持假脱机状态以消除延迟?
这是一个全新的、干净的香草安装。
你怎么看?
答案1
假设没有资源过度承诺,预订不会给你带来很多好处。
你需要追踪什么经济放缓的原因是。
观察到的情况是,虚拟机似乎运行缓慢,并且响应出现滞后。
您需要做的是找出导致这种情况的资源。此外,“spool down”实际上并不是对任何事情的描述。您需要深入研究性能监控,看看是什么导致了这种情况。
*在同一台主机上运行 SQL 服务器和 IIS 服务器是个好主意吗?它们是主机上仅有的两个虚拟机。主机是一台新的 Dell R620,内存为 192 GB。
如果您有两个虚拟机,它们进行大量通信并生成大量 I/O,那么最好将它们放在同一台主机上,但使用不同的卷/LUN。这样做将允许两者之间的所有网络流量停留在 vSwitch 上,而不会触及您的物理网络基础架构。这样可以实现相当不错的性能改进。
您应该将它们保存在单独的 LUN 上,因为您不希望出现磁盘争用。
TL;DR - 分析您的应用。找出瓶颈所在。只有存在资源争用时,预留才有意义。设置预留作为诊断措施毫无意义,您需要自己进行诊断第一的然后担心它是否合适。
答案2
根据VMWare 社区论坛上的此主题...
为了消除延迟,请更改 CPU 预留:
- 右键单击您的虚拟机并选择“编辑设置”
- 单击资源选项卡
- 单击 CPU,在右侧输入几 MHz 作为预留
- 单击“确定”。
一般来说,您不需要更改内存预留。