将应用程序服务器虚拟化到XenApp的好处

除了更简单的部署和pipe理之外,虚拟化应用服务器还有哪些性能优势?

例如,我可以在单个Xenserver上的4台应用程序服务器虚拟机上安装更多的操作用户吗?我可以在1台物理应用程序服务器上使用相同的硬件规格吗?

绝大多数服务器工作负载从不会将系统推向充分利用现代服务器上的资源的水平,根据我的经验,平均物理系统运行在10%或更低的负载水平。 所有虚拟化解决scheme都可以让您整合这些负载,从而更好地利用物理硬件。 良好的虚拟化解决scheme提供了pipe理工具,使pipe理多个系统更容易,实现容错\高可用性,实时迁移,更简单的工作负载调配以及其他一系列优势。

虽然虚拟化通常会带来性能上的折衷,但它们相对较低。 普通用途工作量为5%,最差为10-20%。 鉴于服务器性能每代提高20%到50%,性能方面的折衷很less成为阻碍。 可以,而且这些边缘情况应该从虚拟化中排除。

在某些情况下,虚拟解决scheme可以在多个服务器上超越物理实现。 就像虚拟演出不可接受的情况一样,这些情况很less,但确实存在。 具有前端服务的多层应用程序\例如依靠与一个或多个后端数据库的networking连接的应用层可以从单个虚拟主机内的虚拟networking堆栈的效率中受益。 @pjz给出了单一工作负载types场景的一些很好的例子,虚拟化可以提高整体性能,因为向外扩展(进入多个并行系统)比扩展更容易高效(构build一个高效的multithreading应用程序,扩展到当前服务器核心计数有效)。

给你的例子答案是,这取决于,但如果你正在谈论的应用程序服务器是XenApp和pipe理程序是XenServer,那么我认为你将能够支持更多的用户通过采取虚拟路线比本地运行,只要你在谈论最近有很多内核的服务器。 VMware有一篇关于在ESX 3.5上运行的XenApp与原生性能的旧文章 ,他们的主张是虚拟化运行的服务器的扩展性更好。 到目前为止,XenApp和VMware Hypervisor是否仍然如此,这取决于当前版本的XenApp在现代硬件上如何处理NUMA体系结构和多内核扩展,我怀疑这仍然是正确的,尽pipe我会声称vSphere有一定程度的怀疑,提高了30%。 Citrix声称,XenServer上的XenApp优于vSphere上的XenApp,但我不能说这是否属实,但是虚拟系统上的扩展行为已经足够清楚了 – 这份Citrix白皮书显示,如果采用类似的工作负载configuration文件,则基于双至强5570的XenServer可以支持是在基于X7350的服务器的两个核心上运行的物理XenApp服务器的并发用户数的3倍。 多虚拟机的扩展性能相当好,但是从双核到四核的扩展并不是非常有效。 这次AMD的展示表明 ,从双核转向四核可以支持的并发会话数量提高了70% 。 我怀疑当前在第12代16核心服务器上运行的XenApp的规模将迅速下降,但是我找不到任何明确的信息。

虚拟化的主要优势在于易于pipe理,故障转移和部署,正如您所指出的那样。 从理论上讲, devise合理的 现代应用程序应该在硬件上比在虚拟机pipe理程序下运行得更好。 我能想到的警告是:

  • 如果你有一个多处理器机器和一个拒绝在同一台机器上共存多个副本的单线程应用程序,你可以通过在同一台机器上运行一个虚拟机中的每个副本来“欺骗”它。

  • 如果你有一个多处理器,64位16 + GB-RAM机器,那么一个运行在其可用内存(3-4GB,对吧?)极限的32位应用程序,如果分成4个虚拟机在同一台机器上的虚拟机pipe理程序下,因为这样可以解决更多的内存问题。

性能不是虚拟化的强项; 最重要的是你可以在一台机器上pipe理4个不同的应用程序,所有的软件基础设施需求都是相互冲突的