颠覆签出和出口之间的性能差异?

在运行你的web应用程序时,颠覆检出和导出之间是否有任何性能差异?

我们已经在我们的部署过程中实现了这一点,没有测量差异(这感觉不好,也不好)。

我们的意图是:
a)转储开销(.svn文件夹及其内容)和
b)改进任何目录遍历的东西

你有这方面的经验吗?

这会严重依赖于应用程序。 对于我已经部署的应用程序来说,这是无关紧要的,因为在应用程序中绝对没有应用程序目录的目录遍历。 有些框架,特别是Rails,会自动加载应用程序中的文件,并执行目录遍历来发现这些文件,但典型的Dir['**/**']types事务跳过任何“隐藏的”目录,如.svn和。饭桶。

如果由于某种原因,您的应用程序或框架需要遍历应用程序文件夹下的所有文件,并且没有忽略隐藏的目录,那么可能会有一些微不足道的影响,但是如果应用程序和特定情况特定的话,您将很难从广义的答案中寻求很多build议。

所有这一切,如果你没有理由把更改从部署推回到SVN服务器,并且你正在使用多目录滚动式部署机制(也就是说,你每次都导出/检出到一个新的目录,那么更新一个符号链接或类似),你也可以重新使用导出。 如果每次只是在部署目录中svn update ,则可能出于效率考虑而坚持使用它。

Subversion客户端写入导出的IO比签出要less,因为签出会执行大量的locking和逻辑写操作。

尽pipe如此,我发现在Web服务器文档根目录中输出而不是导出效果要好得多,因为您可以简单地'svn update'到最新版本或运行'svn update -r PREV'来退出一个不好的推送。 所以我觉得这样做的方便大于减lessIO的好处。 这假设你没有导出,然后FTP导出到你的Web服务器。

你如何部署到您的Web服务器?

有一件事情与SVN真正有差别(特别是签入)是病毒扫描。 如果您可以closures.svn目录的AV,那么你会看到一个区别。