ssd经常提的队列深度1时的4k速度,比如40MB/s,这个就是考虑了小文件操作会慢的前提,测得的一个数字。用这种方法表达磁盘性能是合理,也是行业通用方法(参考各产品铭牌)。
40MB/s就意味着4kB的小文件,完成了10k次io每秒。并且在队列为1的条件下测的。
磁盘是能达到这个性能的,既然能实测到,说明做简单读写的时候系统加上其他开销也是能支撑这个性能的。当然如果有其他计算需求,比如文件预览、比较、hash,那电脑很可能就跟不上了。
我相信他表达的意思就是对于磁盘来说,这点速度单线程就很简单,所以不需要多线程。如果达不到,大概率瓶颈是系统其它组件。
另外小文件就算多线程,也远赶不上大文件处理速度。磁盘内部类似上下文开销要耗掉性能和时间。
【 在 siegfried415 的大作中提到: 】
: 他表达的不是这个意思,如果我没记错的话,他表达的意思是,把小文件的系统调用浪费的时间刨除掉,然后用同等数据量的大文件的IO来估算拷贝时间,然后得出并不需要多线程来进行处理的结论。--这显然是错误的,为了让小文件能做和大文件同样的拷贝速度,就必须让一些文件的系统调用和另外一些文件的IO访问同时进行,这一定需要某种程度的并行/并发操作才能做到。
:
--
FROM 125.120.112.*