我们必须在我们的networking环境中进行deviseselect。 在这个时候,如果我们可以把清漆caching服务器放到vmware环境或专用硬件上,我们就会陷入讨论。
我的设想 :
varnish / apache servers – > tomcat实例(在vmware中) – > mysql集群
(Apache需要在那里,因为我们希望能够排除清漆解决caching问题)
这个设置将服务于30个Tomcat CMS实例,其中3个将是大型站点
我们的主要问题是,如果我们将caching服务器放在VMWare中,性能会大幅度下降
有没有人在这里得到任何与VMWarecaching服务器的经验?
如果您已经安装并运行了该软件,我build议您测量该服务器上的CPU性能。 即使你有其他的东西在同一台服务器上运行,它可能并不重要。 如果CPU负载是该服务器能够达到的33%或更less,那么把它放在运行类似或更强大硬件的虚拟机上是现实的。
虚拟化的任何潜在性能下降取决于共享相同硬件的其他虚拟机。 理想情况下,如果您的CPU负载过重,则应该只将轻负载的虚拟机安装在同一台服务器上。 而networkingI / O和磁盘I / O也是如此。 但是不要跳到合谋。 测量CPU,networking和磁盘上的负载,然后根据这些测量结果做出决定。
在确定虚拟机服务器的大小时,留出一些空间,以便增加所有虚拟机的负载。
由于Varnish是围绕从内存中提供caching数据而构build的,本质上它将在磁盘负载上很轻,这意味着它适合在虚拟机中运行。 但是要确保物理服务器能够扩展内存,比如一台最大RAM容量为16g的四核机器,将为Varnish虚拟机提供一个带有4G内存的漂亮的Varnish服务器。 如果Varnish虚拟机需要增长,则可以进行简单的RAM升级,而不是迁移到另一台物理服务器。
据我所知,虚拟服务器的一个主要瓶颈是高清访问。 所以如果你的计划是使用基于磁盘的caching和虚拟硬盘驱动器,我会说你不会得到很好的性能。
如果你为虚拟机使用专用的硬盘,或者如果你使用基于内存的caching,理论上你应该没问题。
我pipe理的服务器之一是一个8核心专用盒子,带有500GiB RAID 10arrays和12 GB RAM。 它运行的是VMware服务器2.它运行的虚拟机之一是具有3 GB内存和Apache Web服务器,Exim,FTP,MySQl等的单处理器虚拟机。 在虚拟机上的负载徘徊在1到4之间,并且在设置第二个虚拟机作为caching代理的时候,我们已经看到了很好的结果,将所有的请求都放到了第一台机器上。 这使第二个虚拟机有一个额外的CPU。