远程文件系统、性能和缓存 (davfs vs cifs vs sshfs)

远程文件系统、性能和缓存 (davfs vs cifs vs sshfs)

我在Hetzner 储物盒至于远程安装这些,我可以选择 WebDAV、CIFS 或 sshfs。

一旦安装,这些文件将由洗手液。这里的问题是,liquidsoap 可以很多文件系统open(为了计算音轨时长、混音、选择……)。特别是因为我的脚本在包含许多文件(10k+)的目录中创建随机播放列表值得考虑的可能性)。

在设置一些测试之前,我正在寻找有关这三个挂载选项的一些社区建议,特别是有关以下几点:

  • 缓存。这可能是最重要的一点。如前所述,liquidsoap 确实很多open的文件系统将所有打开的文件保存在缓存中(即使它们已关闭),这将很快填满本地磁盘空间,并使远程存储这些文件的目的落空。最重要的是,其他服务可能会在远程文件系统上进行更改,这些必须立即反映出来(例如,我们不希望liquidsoap尝试传输已被删除的文件)。
  • 速度. 它需要快速,liquidsoap 必须获取数据在流式传输变得太晚之前进行计算。
  • 安全。这些文件都是公共领域的,并且是共享的(另一项服务建议下载这些文件),因此读取权限不是太大的问题。但写入权限必须是安全的。

如果其他解决方案符合我的要求,我愿意接受。

[编辑]

我做了一些基准测试,3 个相同的服务器,除了用于挂载远程存储的文件系统。

  • 应用程序:azuracast(因为它是最终使用的应用程序,所以不妨对整个产品进行基准测试)
  • 配置:完整的网络电台。25k+ 个文件,具有调度、交叉淡入淡出...和转码为 15 个流(HLS/AAC、mp3、OGG/Flac,每个都有 5 种不同的质量设置)

服务器启动和库扫描:

  • 标记1:docker compose up -d
  • 标记2:所有服务都已启动
  • 标记3:扫描完成,CIFS
  • 标记 4:扫描完成,DAVFS
  • 标记5:扫描完成:SSHFS

服务器启动和库扫描

常规操作: 常规运营

看来 CIFS 是这里的最佳选择。特别是因为我不需要复杂的 ACL(存储提供商无论如何都会将所有内容映射到同一个用户)。

不过,我对此有两个问题,希望得到任何确认/建议:

  • 流量未加密,但由于所有数据都是公开的,所以这不是问题,不是吗?
  • 验证加密后,所以不存在任何人获得对我的数据的写访问权限的风险(至少通过这个向量),对吗?

谢谢

相关内容