巨大的svn签出使apache(dav_svn)消耗服务器上的所有内存-有什么提示吗?
服务器上的apache2/dav_svn/ssl/subversion中是否有任何设置可以使整个系统在大签出时性能更好(或者至少不会消耗所有内存) 我对如何降低内存消耗的建议特别感兴趣 提出这一问题的理由: 上周我们的svn服务器出现了一个问题——它停止响应所有请求,管理员通知我们所有内存都被apache占用。我们在apache上使用mod_dav通过ssl访问subversion存储库 内存不足的原因是我的一位同事进行了一次约2.5GB的大签出,其中可能包含一些大小超过500MB的文件。我听说他尝试了多次,所以可能有几个进程挂在服务器上 服务器管理员说您不应该在subversion中存储这么大的文件,但我不同意这一点——如果这些文件对项目至关重要,我总是希望它们存储在存储库中。在许多情况下,“性能更好”和“消耗更少的内存”是不兼容的 通常,当使用更多内存(例如缓存)时,性能会得到提高。因此,虽然我理解您的问题是如何保持内存消耗低,但请注意,SVN将因此而变慢 服务器管理员在SVN中保存大量(是二进制的吗?)文件的想法是正确的。SVN主要用于源代码-小文本文件。如果您需要在某个地方维护相关数据、输入、测试数据、资源、第三方依赖项等的版本,我建议您在某个共享位置创建一个二进制存储库,并使用目录结构+可能的符号链接来反映svn repo中存在的版本控制 保持SVN尽可能精简(但不是更精简!)确实有好处。SVN因其设计而出了名的执行签出缓慢(例如,与非常便宜的分支相比,它是一个非常繁重的操作)。更快的签出和指责等转化为更快的开发周期。因此,我觉得在一些备份的网络共享上“手动”维护一个非代码存储库是值得的,而不是将所有内容都保存在svn中 还要记住,你不能把你想要的一切都放在svn中。你没有把平台sdk放在那里,对吗?因此,使用外部存储库可以为您提供一个更完整的解决方案,允许您在其中放置更多的内容巨大的svn签出使apache(dav_svn)消耗服务器上的所有内存-有什么提示吗?,svn,apache,ssl,performance,Svn,Apache,Ssl,Performance,服务器上的apache2/dav_svn/ssl/subversion中是否有任何设置可以使整个系统在大签出时性能更好(或者至少不会消耗所有内存) 我对如何降低内存消耗的建议特别感兴趣 提出这一问题的理由: 上周我们的svn服务器出现了一个问题——它停止响应所有请求,管理员通知我们所有内存都被apache占用。我们在apache上使用mod_dav通过ssl访问subversion存储库 内存不足的原因是我的一位同事进行了一次约2.5GB的大签出,其中可能包含一些大小超过500MB的文件。我听说
另一个不相关的注意事项是:最便宜的解决方案可能只是增加更多的RAM。事实上,我已经尝试过基于“RAM磁盘”的SVN存储库解决方案,它们的速度非常快 这是SVN/Apache/SSL的一个众所周知的问题 有一些变通办法,但目前似乎没有100%的解决办法。阅读了解更多信息 一些拟议的解决办法:
- 使用VisualSVN服务器1.6.3(win32、非SSL和带SSL)
- 不要使用SSL
- 使用SSLSessionCache shm:key指令
- 使用匹配的SVN客户端和服务器
- [……]