我正在升级我们的一台服务器,一台运行着VMware Server 2的8核心服务器。它运行的虚拟机主要是Web,文件和电子邮件服务器; 具体来说,它运行三个Web服务器,两个电子邮件/文件服务器和一些Jabber / XMPP服务器。
当我们最初设置这台机器时,我们有两个Web服务器configuration了两个vCPU。 我们有一些非常严重的性能问题 。 当时我们只运行3个VM,共有5个vCPU。 我们还运行VMware Server 1和RAID1 。 现在我们已经升级到了RAID10,我永远不会考虑更less的东西! 🙂
新的服务器将有VMware ESXi而不是VMware Server。 我们正在研究带有更快处理器的另一个8核机器,或者16或32核心服务器。 我想确保我避免以前的问题。
因为之前我有多个vCPU的问题,所以我的计划是用多个相同的networking服务器虚拟机(2-4)replace主要networking服务器虚拟机(2-4),每个虚拟机都有一个vCPU,提供NFS共享内容,并将它们放入一个负载平衡configuration。 所以我基本上是用至less4:2的小型networking服务器虚拟机,文件服务器虚拟机和负载平衡虚拟机replace一个虚拟机。 我的计划有两个方面:首先,我可以避免之前看到的任何多个vCPU isuses,其次,我可以产生新的web服务器虚拟机来处理增加的负载。
请注意,我知道我没有获得负载平衡的所有好处,因为我仍然有单点故障 。
这是一个好的计划,还是没有必要? VMware ESXi能比三年前的 VMware Server 1更好地处理多个vCPU 吗? 在一个负载平衡的configuration中,哪一个性能更好,一个带有2-4个vCPU的大型web服务器虚拟机,或者是带有一个vCPU的4个虚拟机?
VMware ESXi能比三年前的VMware Server 1更好地处理多个vCPU吗?
是的,他们完全是独立的产品线,ESXi可以很好地处理多个vCPU。 我正在运行一个5节点vmware服务器场,每个服务器上都有一台机器,每个机器上有1,2个,有些情况下需要4个处理器。
在一个负载平衡的configuration中,哪一个性能更好,一个带有2-4个vCPU的大型web服务器虚拟机,或者是带有一个vCPU的4个虚拟机?
这不是一个VMWare的问题和更多的应用程序/网站testing问题。 VMWare(或任何其他现代裸机虚拟机)都可以做到这一点 – 将大量vCPU连接到一个guest虚拟机可能会有成本,但是这可能会被多个guest虚拟机的运行和性能问题(或改进),您的Web应用程序可能会从更分散的方法实现。
在最后一个问题上,它确实是一个testing和架构偏好问题,而不是一个真实的方式,但是我的总体感觉是,如果您可以轻松地将应用程序分布到多个虚拟机上,那么最好是构build一些较小的虚拟机比一个大。 如果需要的话,可以提供更多的灵活性,从长远来看有助于提高性能。 换句话说,向外扩展而不是向上扩展
对于物理机器,我认为我们想到的是向上扩展,尽可能多地将一个操作系统的“实例”尽可能地从许可证和硬件的成本中获得,而对于虚拟机来说,这些方程式会发生一些变化 – 如果你可以根据许可证的价格获得多个虚拟操作系统实例,这可能会改变您的服务器基础设施的devise方式。
编辑
我可以通过很多方式来解决这个问题,但是我将从水平和垂直缩放开始。
优点
- 可以缩放很大
- 可以跨主机(即vmware群集)
- 容错
- 低/无维修期间的停机
缺点
- VM操作系统和负载平衡器的开销更大
- 更多的维护/pipe理(例如补丁,SSL证书)
- 跨Web服务器的更多网站版本pipe理
- 负载均衡器后面的网站可能需要额外的testing和开发
- 授权?
优点
- 缩放更容易(只需添加另一个vCPU或两个或更多的内存)
- 只有一个Web服务器来pipe理,许可证等
缺点
- 在维护/升级过程中停机
- 缩小过大可能会导致虚拟机中的性能问题。
- 没有真正的规模。
所以,他们都有他们的货物和坏点,我是横向扩展的大爱好者,但是这是我推荐给你的东西:
好的,那个垂直缩放点是什么?
这取决于你的硬件。
自从ESX 2.x以来,VMware已经做了很多vCPU调度 ,而且还有更多的垂直增长空间。 多less真的取决于你得到的CPU。
根据性能调整虚拟机的性能需要了解NUMA(非统一内存访问) 。基本上,你不希望虚拟机比CPU的NUMA节点更大,下面是一些可以帮助你在这个领域引导你的链接:
http://frankdenneman.nl/2010/02/sizing-vms-and-numa-nodes/
http://frankdenneman.nl/2010/09/esx-4-1-numa-scheduling/
http://frankdenneman.nl/2011/01/amd-magny-cours-and-esx/
我想我会把它包装起来,说CPU对我来说从来没有太多的问题,除非你是超额订购主机上的CPU。 相反,记忆通常是罪魁祸首。 膨胀/交换内存是一个非常明显的性能问题。
祝你好运!