今天来简单给大家讲解一下关于linux服务器磁盘的基本知识以及监控工具,话不多说,一起去瞅瞅~
磁盘基本知识
磁盘是可以持久化存储的设备,根据存储介质的不同,常见磁盘可以分为两类:机械磁盘和固态磁盘。
第一类,机械磁盘,也称为硬盘驱动器,通常缩写为 HDD。机械磁盘主要由盘片和读写磁头组成,数据就存储在盘片的环状磁道中。在读写数据前,需要移动读写磁头,定位到数据所在的磁道,然后才能访问数据。
第二类,固态磁盘,通常缩写为 SSD,由固态电子元器件组成。固态磁盘不需要磁道寻址,所以,不管是连续 I/O,还是随机 I/O 的性能,都比机械磁盘要好得多。
其实,无论机械磁盘,还是固态磁盘,相同磁盘的随机 I/O 都要比连续 I/O 慢很多,原因也很明显。
对机械磁盘来说,由于随机 I/O 需要更多的磁头寻道和盘片旋转,它的性能自然要比连续 I/O 慢。
而对固态磁盘来说,虽然它的随机性能比机械硬盘好很多,但同样存在“先擦除再写入”的限制。随机读写会导致大量的垃圾回收,所以相对应的,随机 I/O 的性能比起连续 I/O 来,也还是差了很多。
此外,连续 I/O 还可以通过预读的方式,来减少 I/O 请求的次数,这也是其性能优异的一个原因。很多性能优化的方案,也都会从这个角度出发,来优化 I/O 性能。
磁盘监控工具
说到磁盘性能的衡量标准,必须要提到五个常见指标,也就是我们经常用到的,使用率、饱和度、IOPS、吞吐量以及响应时间等。这五个指标,是衡量磁盘性能的基本指标。
df -h
linux系统以磁盘分区为单位查看文件系统占用率。
du -sh *
说到df,又要谈谈du,笔者经常搞混这两个命令。du用在查询目录或文件的大小,也是很常用的命令。
iostat-d -x 1
表示显示所有磁盘 I/O 的指标。使用iostat需要先安装sysstat。
重点关注指标:
%util ,磁盘 I/O 使用率;
r/s+ w/s ,IOPS;
rkB/s+wkB/s ,吞吐量;
r_await+w_await ,响应时间
如想了解更多关于关于磁盘监控的内容,请持续关注睿江云,各种技术干货等着你。