我支持制造商的ERP系统。我们在由第三方云提供商托管在 VMware 上的数据库上遇到间歇性应用程序性能问题。(他们是一个较小的供应商......不是谷歌、微软、亚马逊等。)我一直在想,他们的商业利益决定将尽可能多的客户虚拟机推到一个主机上,因为他们可以逃脱,并且我不知道我们是否由于 CPU 就绪时间长、内存膨胀或磁盘资源争用而导致性能下降。当然,他们的销售人员描绘了一幅美好的图画,但如果我在追寻其他未知数,我怎么能确定问题出在哪里?如何在不访问主机的情况下排除堆栈的基础设施层?我看到每个内核的 CPU 使用率都达到 100%,并且在查看正在运行的数据库会话时找不到明显的解释。(有时作业运行得很快,有时几乎相同的作业挂起而没有明显的阻塞。)
在不久的将来,迁移到另一家供应商或将这些机器采购到我们自己的服务器机房都不太可能,但如果有确凿的证据来推动我们从这里采取下一步行动,那就太好了。
编辑:来宾机器正在运行 Windows 2008 R2 Datacenter。
这是完全可能的;几乎可以在服务水平协议 (SLA) 中指定任何内容。由于您的供应商规模较小,因此我会说您将其纳入合同的机会比与大型供应商的合作要好一些。
但是,一些警告:
一个有意义的 SLA 指定a)将提供什么,b)如何衡量它,以及c)在违反的情况下会发生什么。确保您对这三个方面都感到满意;没有任何这些的 SLA 不值得写在上面的纸上。违规的成本 (c) 应该足够大,以便为您的提供商提供真正的商业激励以避免违规。
您将无法将其插入到您的合同中期(除非您的提供者非常愚蠢地提供了
^W
义务)。续订是满足您未来要求的时候了。您的请求可能会被忽略,除非您准备离开您当前的供应商,如果他们不会签署您想要的新合同,而离开将是商业自杀,除非您有地方可以搬家。所以现在是时候开始对新的供应商进行尽职调查了,他们会给你你想要的东西,这样你就可以在任何谈判中发挥作用。
这将花费真金白银。大多数托管合同至少缺少一个有意义的 SLA 元素(见上文),因此只承诺尽最大努力提供某种服务。实际上遵守有意义的 SLA 条款会花费您的供应商真金白银;您必须期望他们为满足您的特定要求而产生的成本会转嫁给您——他们的业务不是为了他们的健康。现在进行尽职调查将使您对这可能会花费您多少有所了解,因此您可以为提升服务的实际成本做好准备。
你不能。特别是如果您没有在合同上同意专用 CPU 内核之类的东西,那么您实际上确实得到了您所支付的费用。当您订购您所订购的东西时,没有任何投诉的理由。
审查你的合同。根据合同,什么是 CPU 内核?
如果您安装了 VMware Tools,那么您可以检查许多性能计数器(在 perfmon.exe 中查看“VM 处理器”和“VM 内存”类别),以了解您的虚拟 CPU 内核是否真的总是达到 100%相当于物理核心。通过这种方式,您还可以检查 CPU 和内存的预留和限制、膨胀等。
此信息的一部分还通过 VMware Tools 中包含的 CLI 工具公开,请参见
如果您的合同规定您的虚拟 CPU 内核是“专用的”,那么您应该有一个 CPU 预留,您可以通过上述方式进行检查。