77 条回复  ·  8166 次点击
deplives 小成 2025-10-29 18:25:18
先 tar 打包不压缩 再传输,全是小文件,直接考本硬盘 4k 随机读写跟不上的 不行就直接扇区复制
kzfile 初学 2025-10-29 18:46:07
看起来像是瓦片
wxf666 小成 2025-10-29 18:48:09
这种巨量小文件,存进数据库里(如 SQLite ),是不是会好很多? NTFS 文件系统,每个文件元数据(文件名、长度、时间、权限等)起码占 1KB ( MFT 主文件表里),文件内容还要浪费 < 4KB 用于簇对齐。读写文件还得经过复杂的权限校检、杀毒软件放行等。(估计 WinPE 里会快些) 数据库就轻量很多。8 年前 SQLite [测试]( https://sqlite.org/fasterthanfs.html ),随机读写 10KB 小文件,比文件系统快 35%,节省 20% 空间。转移/备份时也是顺序读写,能全速吃满硬盘。。
jiagm 小成 2025-10-29 18:55:36
@realJamespond fastcopy 目前仍然有在持续开发。
zhengwenk 小成 2025-10-29 19:00:48
直接把这个硬盘安装到目标机器得了
wxf666 小成 2025-10-29 19:01:54
@festoney8 诶,你们觉得,要是能顺序读取硬盘的同时,分析出是哪个文件的内容(应该能通过 MFT 主文件表,获取每个文件数据分布范围吧)。若该文件读完整了,就写入到另一个硬盘里,应该会快很多吧。。 或者,获得所有文件数据分布范围后,按在硬盘上的顺序,依次读取这些文件,磁头不用频繁移动,也能节省大量时间?(也算近乎顺序读取了?)
laminux29 小成 2025-10-29 19:11:47
前期架构错了,后期就没办法。 首先机械硬盘的随机 IO 就是慢,其次移动机械硬盘的性能更差劲,慢上加慢。 下次这种需求,老老实实换 NVME 吧。 ps.小文件 + 机械硬盘,数据库来了也没辙。
wxf666 小成 2025-10-29 19:24:40
@jiagm #33 fastcopy 有利用 35 楼说的「分析文件内容在硬盘上的分布,按硬盘顺序读取,减少磁头频繁移动,从而节省大量时间。若文件有碎片,在内存里缓存一部分,读完整再写入」原理吗?感觉是真的可行的。。 如果还没有这样的软件,感觉楼主 @CristianoRonaldo 可以找论坛里,那帮用 AI 很厉害的人,快速写个这样的小工具出来用?
wxf666 小成 2025-10-29 19:28:23
@laminux29 #36 数据库在随机读写里面的小文件时快不了多少,但作为一个大文件,整体去备份 / 迁移,应该能顺序读取,吃满硬盘性能吧。。 另外,你觉得 35 楼说的「分析文件内容在硬盘上的分布,按硬盘顺序读取,减少磁头频繁移动,从而节省大量时间。若文件有碎片,在内存里缓存一部分,读完整再写入」原理,是可行的吗?
xkou233 初学 2025-10-29 19:29:09
winhex 直接拷盘吧 之前拷贝十几个 T 都是这样
返回顶部