在虚拟机中运行TFS应用程序层是否存在性能问题?

我们正在考虑双服务器TFS部署中应用层的虚拟机,因为它不会执行繁重的IO。 有没有人有任何好的或不好的经验分享使用这种方法(具体围绕性能)?

在这里findbharry(微软员工在VSTS工作)的一些指导。

如您所知,应用程序层不会执行繁重的I / O,并且通常是虚拟化的良好select。 我不知道你的具体环境,所以用一个代表性的负载进行testing将是获得明确答案的最好方法,但它具有“对我有用”的认可标志:)数据层(SQL Server)运行直接在硬件上更好(但是这听起来就是你正在做的事情)。

如果您在承载TFS应用程序层虚拟机的服务器上运行多个虚拟机,请注意(我知道这是非常明显的),其他虚拟机将与TFS虚拟机(RAM,CPU,networking,和磁盘),所以相应的计划。

我知道很多人用这种configuration运行,对他们来说效果很好。 我知道至less有一家公司负担相当沉重(全球24小时开发,全天约有200名用户访问系统),而且这种configuration对他们来说工作正常。 当SQL服务器被虚拟化时,他们确实遇到了问题,但是自从SQL被赋予它自己的方框以来,它们一直运行良好。 关键是(和生产中使用的所有虚拟机一样)要确保AT虚拟机具有足够的资源,并且不会与主机设备上的其他虚拟机过度竞争。 在资源不足的情况下,在IIS中运行的ASP工作进程可能会开始大量回收,这可能会导致一些问题。

虽然AT的IO相当低,但它实际上caching了在版本控制中上传的文件,以避免在有人请求特定版本时不得不从数据库中存储的增量中重build文件。 因此,使用固定磁盘等生产虚拟机仍然是值得的