【问题标题】:Commit transfer performance for large files to HTTP+SVN server提交大文件到 HTTP+SVN 服务器的传输性能
【发布时间】:2018-06-21 14:44:53
【问题描述】:

我在 Apache HTTPS 服务器后面有一个 SVN 存储库,用于存储大小 (+1GB) 文件。当我提交一个大文件时,传输速度约为 10MB/秒(使用 1GBit 网络线路)。当我查看服务器上的 CPU 利用率时,它已经饱和,大约 85% 被 apache2 消耗,大约 15% 被磁盘驱动程序消耗。

我已经尝试禁用 Apache 日志记录和 SSL,但这无助于提高传输速度。这让我觉得mod_dav_svn 正在使用大部分CPU?我还尝试增加服务器上可用核心的数量(默认 = 1 个核心),但这会莫名其妙地减慢提交速度,而 httpd 仍然使用 1 个核心。并且设置SVNCompressionLevel 0 也没有带来任何明显的速度提升。

有没有办法通过并行化或其他优化来显着提高传输速度?

服务器:

  • Debian 9.3
  • Apache 2.4.25
  • libapache2-mod-svn 1.9.5
  • svn 存储库:默认 FSFS 配置(即在 fsfs.conf 中全部注释掉)。 HDD 可以写入高达 30Mb/秒(受硬件限制)而不会使 CPU 饱和(通过复制测试)。 FS 是 NTFS,使用ntfs-3g 并启用big_writes,这在写入@10MB/秒时使用了10-15% 的CPU。

客户:

  • svn 1.8.13

CPU:第一代 Intel Core @3.20Ghz

显然,如果我能以 25-30MB/秒的速度传输,我会非常高兴。

【问题讨论】:

    标签: apache performance svn fsfs


    【解决方案1】:

    有什么方法可以显着提高传输速度 并行化还是其他一些优化?

    是的,有。但是,该问题缺少有关 SVN 客户端和服务器版本、服务器和 FSFS 存储库配置以及它运行的硬件的必要详细信息。很难说哪种优化会对您的情况有所帮助。您可能希望将服务器和客户端升级到最新版本并在服务器配置中禁用压缩。

    仅供参考:我的测试中的 VisualSVN 服务器可以提供 1Gbps 的速度。

    【讨论】:

    • 我在想什么...我更新了问题。简而言之,主要使用最新的东西。
    • A 只是查看默认的 VisualSVN 配置文件(SVN FSFS 和 Apache),我没有看到任何可以解释如此高速度的设置。这一切对我来说似乎都是默认的。它甚至禁用了一些优化,例如 SVNCacheXXX 指令。
    • 刚刚使用默认的 VisualSVN 进行了测试,并具有相似的性能,尽管使用的是最新的 Intel CPU。 CPU饱和,写入速度为16MB/s。结帐传输速度更差:CPU 饱和时为 13MB/s。去图...
    猜你喜欢
    • 2011-02-04
    • 2011-12-16
    • 2018-04-02
    • 2021-11-08
    • 2017-02-16
    • 1970-01-01
    • 2013-07-21
    • 2012-12-29
    • 1970-01-01
    相关资源
    最近更新 更多