我目前正在为我们的开发人员设置环境,但我遇到了一个问题。我们计划使用 Crowd、JIRA、Confluence、Bamboo 等(全部由Atlassian;全部运行在 Windows Server 2008 上)。所有这些产品都需要一个后端数据库,即 Microsoft SQL Server 2008。
所以问题是:让 SQL Server 在来宾操作系统中运行是否可以(从性能角度来看)或者在这种环境下性能会不是最理想的?
答案1
只要有足够的内存,MS SQL 就可以在虚拟环境中正常运行。无论是在真实环境还是虚拟环境中,情况都是一样的。如果您的开发人员 VM 有足够的内存,那么应该没问题。
答案2
我有一个运行 SQL 2008 企业版的 VM,用于开发和 QA。
性能并不出色,但可以处理相当大的负载。我们遇到了一些问题,主要是关于高性能读取的问题,其中 SQL 会抱怨校验和不正确,并导致操作失败。
我建议使用一些更注重性能的东西,比如ESX。
答案3
我们有一台运行 Hyper-V 服务器的开发服务器。它提供 Server2008 Enterprise,运行 SQL2008 没有任何问题。这是在为虚拟机提供大约 3GB 内存的情况下。
答案4
几个月来,我一直在 2008 Server VM 上运行 Confluence,它运行良好。没有真正的问题,使用率适中。数据库托管在专用 SQL 2005 服务器上的 VM 上。但这是一个共享数据库服务器,还托管许多其他应用程序。
我能给出的针对这个开发服务器的最佳建议是:确保它有足够的内存。
您提到的所有 java/tomcat 应用程序都需要预先分配其内存空间,而 SQL 将吞噬其余部分。我建议至少使用 3GB 的 RAM(最多 8GB)。每个 Atlassian 应用程序都需要 256-512MB 的 RAM,SQL 至少需要 1GB,然后操作系统也需要一点。
还要注意你的磁盘 IO,根据你的开发人员正在做的事情,这可能是一个严重的瓶颈。