对于FIO,其是一个10测试工具,可以运行在多种操作系统上,用来测试本地磁盘、
网络存储等的性能。FIO有以下基本概念,大家可以先了解一下:
1、基本概念
I/O类型-顺序读、顺序写、随机读、随机写
块大小-读写时规定的block size,一般为512B、4K、16K
I/O size-一次读写多大的数据,即每次io请求要读写多少数据,一般是1K/4K...
1M/4M等大小。
I/O引擎(I/O engine)-使用1/O引擎就是使用某些函数,以某些特定方式来访问存
储,不同的1/O引擎有不同的使用场景。比如Linux 可以使用 libaio,sync,psync等
I/O 深度(1/O depth)-一次提交要提交多少个1/O请求,仅对异步1/0引擎有用,
因为同步1/O总是会等待提交的1/O请求返回了再提交下一个1/O请求,所以iodepth
总是1.
对于I/Odepth,并不是越大越好,需要选择一个合适的值,其原因如下:
随着iodepth的增大在一定范围内,带宽、io延时会增加,超过一定范围后带宽增
加缓慢,延时继续会增加。延时增加的原因是因为随着 iodepth增加都需花更多的时间
等待请求io数量达到iodepth数值后,才会真正把io请求发送给存储,所以平均每一
个io的延时都会增大了
带宽之所以会提高可能主要与网络延时