首先,了解些磁盘的知识

现在常用的磁盘有多种,如机械硬盘、固态硬盘等。

不同种类磁盘有其各自特性,比如机械硬盘外磁道比内磁道快。

其次,可以了解下Linux的io堆栈

比如,了解数据真正落盘跟缓存在内存中的区别。

我想做linux的磁盘io性能测试,有什么好的工具和方法推荐吗,感谢?-编程之家

不同版本内核,io堆栈会有更新换代而稍有不同。具体参考内核作者的网站:https://www.thomas-krenn.com/en/wiki/Linux_Storage_Stack_Diagram

具体Io测试工具不少,这里推荐几个我用的工具

简单粗暴的工具:fio (

https://fio.readthedocs.io/en/latest/fio_doc.html)

我想做linux的磁盘io性能测试,有什么好的工具和方法推荐吗,感谢?-编程之家

复杂一些同时可以图形显示测试结果的工具:nmon (https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power%20Systems/page/nmon)。

nmon的可视化工具有:nmonchart,NMONVisualize

我想做linux的磁盘io性能测试,有什么好的工具和方法推荐吗,感谢?-编程之家

需要跟踪io读写,可以使用blktrace,跟踪每个io请求对应的扇区号。

我想做linux的磁盘io性能测试,有什么好的工具和方法推荐吗,感谢?-编程之家

除了fio测试工具和iostat,其他工具的测试结果基本上都是扯淡,跟直观感受距离太远,尤其是随机IO。

而且测试结果都不能反映真实负载,如果依据这个结果去预估负载,更是差的远。