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

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

我们正在考虑在双服务器 TFS 部署中使用虚拟机作为应用层,因为它不会执行繁重的 IO。有没有人有使用此方法的良好或不良经验可以分享(特别是在性能方面)?

从 bharry(微软 VSTS 员工)处获得一些指导这里

答案1

正如您所指出的,应用层不执行繁重的 I/O,通常是虚拟化的良好候选者。我不知道您的具体环境,因此使用代表性负载进行测试将是获得明确答案的最佳方式,但它有“它对我有用”的认可印章 :) 数据层 (SQL Server) 直接在硬件上运行得更好(但听起来无论如何您都在这样做)。

如果您在托管 TFS App Tier VM 的服务器上运行多个 VM,请注意(我知道这是非常明显的)其他 VM 将与 TFS VM 竞争相同的资源(RAM、CPU、网络和磁盘),因此请相应地进行计划。

答案2

我知道许多人都使用这种配置,而且效果很好。我知道至少有一家公司的负载相当大(全球 24x7 全天候开发,白天大约有 200 名用户访问系统),这种配置对他们来说效果很好。他们在 SQL 服务器虚拟化时确实遇到了问题,但自从 SQL 拥有自己的机器后,运行良好。关键是(与生产中使用的所有 VM 一样)确保 AT VM 具有足够的资源,并且不会与主机设备上的其他 VM 竞争过多。在资源不足的情况下,在 IIS 中运行的 ASP 工作进程可能会开始大量回收,这可能会导致一些问题。

虽然 AT 的 IO 相当低,但它实际上会缓存在版本控制中上传的文件,以避免在有人请求该特定版本时必须从存储在数据库中的增量中重新构建文件。因此,仍然值得对生产 VM 执行所有常见的良好做法,例如使用固定磁盘等

相关内容