在我工作的工厂里,有一台安装了 VmWare 的 Hp ProLiant ML350 G6,仅托管 Windows Server 2000 虚拟机(4GB RAM 和 5GHz 最大 CPU)。我们所有的 PC(30-40 台)都使用非常旧的 VB6 应用程序连接到这台机器上的一些数据库。就是这样。
虚拟机仅用于访问数据库和一些数据。
我们的问题是这台机器无法承载所有流量,CPU(最高 5GHz)的使用率始终处于 100%,从而导致各种问题。
我们还有另一台虚拟机(12GB RAM 和最高 21GHz CPU),运行 Windows Server 2008。我的计划是将我们需要的所有文件转移到该虚拟机上,以避免 CPU 问题。然而,我的同事不相信虚拟机(他说虚拟机至少比物理服务器慢 50%),所以他会格式化整个机器,克隆实际服务器的副本(数据和活动目录),然后将其安装在已清理的服务器上。
第二种解决方案当然要花费更多钱,如果克隆过程不起作用,可能会以糟糕的结局收场。
我们能做什么?虚拟服务器和物理服务器之间的差异是否如此之大,以至于需要花费这么多精力?
编辑:我们使用 4 个巨大的 Access 2003 .mdb,其中有很多愚蠢的“Select *...:”
答案1
在这里我找到了一份文档,比较了物理/虚拟数据库服务器与 VMware vSphere 4(新版本性能更佳)VMware vSphere™ 4 上的 Microsoft® SQL Server® 的性能和可扩展性 您会发现性能差异低于 10%,而使用较新版本的 vSphere,我认为差异低于 5%。
你确定 CPU 使用率只是你的数据库服务器软件吗?
答案2
然而我的同事不相信虚拟机(他说虚拟机至少比物理服务器慢 50%)
告诉你的同事 - 啊 - 阅读一下。2%-3%。50%曾经是正确的,当时虚拟化不是处理器本机执行的功能,因此必须模拟许多内核级代码。
那大概是 10 年前的事了。从那时起,几乎每个处理器都在硬件中支持虚拟化。
我会将东西保留在虚拟机上,但开始进行大幅升级,直到虚拟机有足够的资源来处理它。