linux - 安装路径上的处理速度

标签 linux unix networking network-programming distributed-computing

我有两种情况。

场景 1:机器 A 包含 1000 个文档作为文件夹。 A机的这个文件夹挂载在B机上。我在B机上处理这些文件夹中的文档,并将输出结果存储在B机的挂载路径中。

场景二:A机上的文档直接复制到B机上处理

场景 2 比场景 1 快得多。我可以猜测是因为两台机器之间没有通过网络进行数据传输。有没有一种方法可以使用挂载并仍然获得更好的性能?

最佳答案

您是否尝试启用缓存? - 对于 NFS:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/fscachenfs.html - CIFS 应默认启用缓存(除非您禁用它)

另一种选择是使用 Windows 的脱机文件之类的东西,它会在后台在客户端和服务器之间复制文件和文件夹,因此您无需处理它。我唯一找到的 Linux 是 OFS .

但性能取决于文件的大小以及您是随机读取还是顺序读取。例如,当我对视频进行编码时,我会立即通过网络从 NFS 访问该文件,因为它所花费的时间与读取和写入文件所花费的时间一样多。这样,编码就不会“浪费”额外的时间,因为应用程序可以对来自网络的流进行编码。

因此,对于大文件,您可能希望将算法更改为顺序读取,另一方面,在几秒钟内复制的小文件也可以使用 rsync、bittorrent 同步、dropbox 或其他数百种工具之一在服务器和客户端之间同步。这实际上是很常见的做法。

关于linux - 安装路径上的处理速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27144712/

相关文章:

c - execlp命令中 "lp"代表什么

linux - 覆盖 ="-Dplan.override $2"

linux - 模拟用户输入以使用不同参数多次调用脚本

python - 从 IP 字符串转换为整数,并在 Python 中向后转换

c# - WMI : Getting Interface Name, 状态网络

iOS SimplePingDelegate 回调方法未触发

linux - 无法使用 hikey_defconfig 编译 u-boot

linux - 递归查找并复制到其他目录

linux - 显示程序的使用情况

linux - Git pull 权限被拒绝 linux?