代码之家  ›  专栏  ›  技术社区  ›  Simon Groenewolt

巨大的svn签出使apache(dav_svn)消耗服务器上的所有内存-有什么提示吗?

  •  4
  • Simon Groenewolt  · 技术社区  · 15 年前

    我对如何降低内存消耗的建议特别感兴趣。

    上周我们的svn服务器出现了一个问题——它停止响应所有请求,管理员通知我们所有内存都被apache占用。我们在apache上使用mod_dav通过ssl访问subversion存储库。

    内存不足的原因是我的一位同事进行了一次约2.5GB的大签出,其中可能包含一些大小超过500MB的文件。我听说他尝试了多次,所以可能有几个进程挂在服务器上。

    2 回复  |  直到 15 年前
        1
  •  2
  •   Peter Parker    15 年前

    这是SVN/Apache/SSL的一个众所周知的问题

    this issue 了解更多信息。

    一些拟议的解决办法:

    • 使用VisualSVN服务器1.6.3(win32、非SSL和带SSL)
    • 使用SSLSessionCache shm:key指令
    • 使用匹配的SVN客户端和服务器
    • [..]
        2
  •  0
  •   Assaf Lavie    15 年前

    在许多情况下,“性能更好”和“消耗更少的内存”是不兼容的。

    通常,当使用更多内存(例如缓存)时,性能会得到提高。因此,虽然我理解您的问题是如何保持内存消耗低,但请注意,SVN将因此而变慢。

    保持SVN尽可能精简(但不是更精简!)确实有好处。SVN因其设计而出了名的执行签出缓慢(例如,与非常便宜的分支相比,它是一个非常繁重的操作)。更快的签出和指责等转化为更快的开发周期。因此,我觉得在一些备份的网络共享上“手动”维护一个非代码存储库而不是保留 每件事

    每件事 你想加入svn。你没有把平台sdk放在那里,对吗?因此,使用外部存储库可以为您提供一个更完整的解决方案,它允许您甚至 更多