为什么多个较小的文件的数据传输速度比较大的文件慢?

时间:2017-11-17 07:45:19

标签: file file-transfer transfer

我一直注意到,例如反应项目或整个网站的大小总计说 350-450 MB 需要更长时间转移比 2-3 GB 视频文件或事实上任意数量的文件捆绑到一个文件中,如.zip / .rar / .iso。

一些SC: -

转移一些反应项目: - Transferring some react projects

转移电影: - Transferring a movie

我搜索了网络,但遗憾的是没有找到相关的帖子/答案。
也许我没有使用必要的关键字... idk

如果可能的话,详细解释会非常有帮助:) 即使解释深入到OS概念中也很酷。 我只是想知道为什么

2 个答案:

答案 0 :(得分:3)

传输文件时,“场景”背后确实发生了很多事情:

  • 打开原始文件
    • 将路径字符串映射到操作系统实际理解的内容
    • 检查安全性(FILE_ACCESS):您是否可以阅读和删除文件?
    • 检查更多安全性(FILE_SHARE):您是否被允许,是否还有其他人在使用该文件?
  • 创建新文件
    • 将路径字符串映射到操作系统实际理解的内容
    • 再次安全(FILE_ACCESS):你可以在这里创建一个文件吗?和目录 高于它,高于......
    • 创建实际的新文件,并将其放入文件系统查找表
    • 设置默认文件属性
    • 禁止其他人读取/写入/删除新文件(FILE_SHARE)
  • 实际转移
    • 读取4k字节
    • 写入4k字节,然后重复
  • 原始文件已删除
  • 设置新文件的上次修改日期
  • 新文件已关闭

我确信我已经错过了很多步骤,但是我在这里说明在实际转移之前和之后会发生很多事情。即使文件为空(0字节),我们仍然必须完成所有这些操作。这与已经给出的答案(如碎片)不同。

答案 1 :(得分:0)

根据https://serverfault.com/a/9743建议,加上编写多个文件也需要在索引表中编入索引。它还会检查是否存在相同的文件名。这需要时间!