2

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

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

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

服务器:

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

客户:

  • svn 1.8.13

CPU:第一代英特尔酷睿@3.20Ghz

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

4

1 回答 1

0

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

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

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

于 2018-01-12T09:44:54.853 回答