硬件与性能
我们想要确定,在解决 Subversion 性能问题时,是否需要重点考虑硬件。为进行这个测试,我们将 Subversion 服务器宿主在各种不同的机器上,并比较将二进制文件导入每种机器上的 Subversion 服务器所需的时间。由于可用的机器类型多不胜数,我们将调查局限于更常规的考虑,如表 4 所示。注意,Desktop 1 是一台共享机器,这意味着除了宿主 Subversion 储存库之外,它还被用于其它任务。Desktop 2 是一台专用机器,只用于 Subversion 储存库。
表 4. 不同机器对应的输入时间
机器类型机器规格时间 Desktop 1,共享 CPU: 2x500MHz PIII, RAM: 500Mb 28m Desktop 2,专用 1x3200MHz P4, RAM: 2000Mb 2m Server,共享 0.2 CPUs 28m 0s Server,共享 1 CPU 13m 19s Server,共享 2 CPUs 13m 19s
硬件测试结果
表 4 中的结果表明,用于运行 Subversion 服务器的机器对于导入二进制文件所需时间有巨大的影响。比较两台台式机,专用的、强大的 Desktop 2 比共享的、处理能力较弱的 Desktop 1 快 14 倍。实际上,这台专用台式机甚至比大型服务器还要快得多,不过增加服务器的 CPU 处理能力可以使导入速度快上一倍。
显然,为了减少将二进制文件移入和移出 Subversion 所需的时间,选择适当的机器非常重要。
回页首
结果评估
时间效率最高的方法是创建一个单独的、压缩的、包含二进制的文件。 空间效率最高的方法是在常规目录结构上使用 Subversion 的高效签入脚本。 在 Subversion 服务器上使用任何形式的认证都将损失性能。 使用专用的、处理能力强的机器来运行 Subversion 效果最佳。 这项调查的发现只适用于被调查的特定系统,所以这里显示的实际值对于其它系统可能意义不大。而模式才是更重要的,因为它们将在任何 Subversion 系统中被复制。根据我们的调查,当将一组二进制文件存储到 Subversion 中时:
通常来讲,这些结论可以作为存储和检索二进制文件时优化 Subversion 性能的一个框架。但是,基于以下考虑,这些结论变得复杂起来:
对硬件的调查只适用于被调查的特定系统。与很多项目使用的二进制文件相比,测试系统中使用的二进制文件非常大。我们调查的模式仍然适用,但是使用范围要小一些。由于其中一些结论处理时差异较大,需要根据调查中的结论来制定明智的决策。