![tfs / svn / 项目服务器 / wiki 位于同一机器上](https://linux22.com/image/491627/tfs%20%2F%20svn%20%2F%20%E9%A1%B9%E7%9B%AE%E6%9C%8D%E5%8A%A1%E5%99%A8%20%2F%20wiki%20%E4%BD%8D%E4%BA%8E%E5%90%8C%E4%B8%80%E6%9C%BA%E5%99%A8%E4%B8%8A.png)
我们正在为 IT 部门的大约十几名开发人员设置一个新的开发环境,关于服务器设置我有几个问题。
我们将为大约 6 名 .NET 开发人员使用 TFS 2008,为六名 CF 人员使用 Subversion。
将两个源代码控制存储库放在同一个盒子里可以吗/建议/不建议?我们将在同一台机器上将 TFS 设置为单服务器环境,并使用 SQL 服务器。
此外,一些管理层希望使用 Project Server。我们已经经历过一次错误的 Project Server 安装,它搞乱了我们的 TFS sharepoint 和报告服务,而且我从 Google 上没有找到任何结果,表明有人在同一台机器上安装了 Project Server 和 TFS。我们应该在单独的机器上安装 Project Server 吗?
我们还将建立一个第三方 Wiki,不确定它将托管在 IIS 还是 Apache 中。
所以基本上,我寻求有关设置此环境、服务器/关注点分离、最佳实践以及我们绝对不应该做的事情的总体建议。这一切都在虚拟环境中进行,因此服务器数量实际上没有限制。
提前致谢。
答案1
我认为您不能将其归类以做出决定。这是可扩展性问题的典型示例。对于少数访问资源的开发人员来说,这应该不是问题,但根据项目/提交/更新/分支合并等的大小,它可能会导致速度变慢,如果 I/O 速度缓慢/受限。IDE 子系统可能对一两个用户表现良好,但一旦您开始添加负载,IDE 子系统可能会造成瓶颈。但由于您处于虚拟环境中,您可能拥有良好的硬件 raid,并且 I/O 不会成为问题。
总而言之,这完全取决于您要在每个服务上处理什么样的负载。如果您将它们分离为虚拟盒,它们仍然在同一个硬件上,所以我认为将它们放在一台机器上可能是一个更好的解决方案...除非您计划将它们移出到单独的硬件/虚拟系统..
底线——您需要更多地说明每项服务的典型用法。
答案2
在每个服务都可能产生大量负载的环境中,我绝对建议将它们分离到单独的(物理)机器上,主要是因为上下文切换会导致大量开销。但是,我怀疑十几个开发人员能否在任何指定的服务上产生大量负载。在虚拟机中运行它们肯定会让您在必须扩展时更轻松,但它确实增加了物理机器的开销,而不是运行所有虚拟机。我不建议在同一台(虚拟)机器上运行 IIS 和 Apache。你只是在自找麻烦。