如何快准狠定位系统的I/O瓶颈,并且梳理清楚在不同场景下指标工具怎么选,性能瓶颈又该如何定位?
一、性能指标
老规矩,回顾一下描述I/O的性能指标有哪些?
回想一下文件系统和磁盘I/O的原理,结合下面这张Linux系统的I/O栈图梳理一下
说起I/O指标应该首先会想到分类描述
要区分开文件系统和磁盘,分别用不同指标来描述它们的性能
1.1 文件系统I/O性能指标
先来看文件系统的情况
- 存储空间使用情况
首先,最容易想到的是存储空间的使用情况,包括容量、使用量以及剩余空间等
通常也称这些为磁盘空间的使用量,因为文件系统的数据最终还是存储在磁盘上
注:这些只是文件系统向外展示的空间使用,而非在磁盘空间的真实用量,因为文件系统的元数据也会占用磁盘空间
而且如果配置了RAID,从文件系统看到的使用量跟实际磁盘的占用空间,也会因为RAID级别的不同而不一样。比如,配置RAID10后从文件系统最多也只能看到所有磁盘容量的一半
除了数据本身的存储空间,还有一个容易忽略的是索引节点的使用情况,它也包括容量、使用量以及剩余量等三个指标
如果文件系统中存储过多的小文件,就可能碰到索引节点容量已满的问题
- 缓存使用情况