IO等待

IO 性能、顺序访问和随机访问

硬盘厂商的性能报告,通常你会看到两个指标。一个是响应时间(Response Time),另一个叫作数据传输率(Data Transfer Rate)。没错,这个和我们在专栏的一开始讲的 CPU 的性能一样,前面那个就是响应时间,后面那个就是吞吐率了


这里的Seq代表的顺序读和顺序写,速度很快

4K代表随机读和随机写,数据传输率就降了很多

acc.time代表响应时间

我们拿这个 40MB/s 和一次读取 4KB 的数据算一下。40MB / 4KB = 10,000

也就是说,一秒之内,这块 SSD 硬盘可以随机读取 1 万次的 4KB 的数据。如果是写入的话呢,会更多一些,90MB /4KB 差不多是 2 万多次

这个每秒读写的次数,我们称之为IOPS

即使是用上了 PCI Express 接口的 SSD 硬盘,IOPS 也就是在 2 万左右。而我们的 CPU 的主频通常在 2GHz 以上,也就是每秒可以做 20 亿次操作

IO等待

即使 CPU 向硬盘发起一条读写指令,需要很多个时钟周期,一秒钟 CPU 能够执行的指令数,和我们硬盘能够进行的操作数,也有好几个数量级的差异。这也是为什么,我们在应用开发的时候往往会说“性能瓶颈在 I/O 上”。因为很多时候,CPU 指令发出去之后,不得不去“等”我们的 I/O 操作完成,才能进行下一步的操作

上一篇: 总线BUS
下一篇: 固态硬盘
作者邮箱: 203328517@qq.com