IOPS是指每秒读写次数,当然IOPS可以对应很多对象,比如应用程序,文件系统,磁盘等。实际工作中谈论的最多的应该是硬盘的IOPS。前段时间为一个用户规划虚拟桌面,就涉及到了磁盘的IOPS,因为部署虚拟桌面时,对IOPS要求比较严格。
磁盘IOPS是指每秒中磁盘可进行IO的次数,硬盘每进行一次IO一般是指完成一次连续的扇区读写。比如读取一个文件时,这个文件存放在一个连续的扇区之内,那么读取时只需一次IO,而如果这个文件分散在两个不连续的扇区,则需要两此IO,以此类推,如果文件分散的越多,这对IO次数要求越高。
磁盘去读取扇区的速度,与磁盘的转速等密切相关,所以一般影响磁盘IO次数主要由寻道时间,旋转延迟也数据传输时间来决定。依据这些参数我们可以算出不同转速磁盘所对应最高IOPS值。磁盘转速为7200,10K,15K rpm,则磁盘IOPS理论最大值分别为
IOPS = 1000 / (3 + 60000/7200/2) = 140
IOPS = 1000 / (3 + 60000/10000/2) = 167
IOPS = 1000 / (3 + 60000/15000/2) = 200
(本段摘自http://futureinhands.iteye.com/blog/1474056)
了解这些有哪些用处呢?他对我们规划项目中所需IOPS需求是至关重要的,首先我们可以以最简单的window7 资源监视器为例来说明iops情况,资源监视器中可以监视磁盘的IO,我们另存一个txt文件,在资源监视器中可以看到这个动作对应的数据大小,我们假设数据大小为25600字节,我们知道每个扇区的大小为512字节,那么这些数据需要存放至25600/512=50个扇区中,如果他存放的是不连续的扇区,则需要50IOPS,如果是连续的扇区,那一个IOPS就够了。就算是不连续的扇区,50个IOPS对现在的硬盘来说也是很富裕的,所以另存一个txt文档,在一秒钟之类就可以完成。以此类推,如果这个数据需要1000IOPS,而磁盘只能提供100IOPS,那么需要等待10S。
以上分析只是一个特别简单的过程,在虚拟桌面部署中,查看IOPS可以通过存储厂商的工具进行查看,但涉及到的应用也是五花八门,最好在测试过程中认真分析每一个虚拟桌面对应的IOPS(如果存储厂商能有工具是最好的),最后再给出方案。
转载于:https://blog.51cto.com/joinvi/992617