Linux性能优化——IO总结

1. LinuxIO栈图

Linux性能优化——IO总结

文件系统 I/O 性能指标

  • 存储空间的使用情况,包括容量、使用量以及剩余空间等
  • 索引节点的使用情况,它也包括容量、使用量以及剩余量等
  • 缓存使用情况,包括页缓存、目录项缓存、索引节点缓存以及各个具体文件系统(如 ext4、XFS 等)的缓存
  • 结合实际文件的读写情况,比如,结合文件大小、文件数量、I/O 类型等考虑 IOPS(包括 r/s 和 w/s)、响应时间(延迟)以及吞吐量(B/s)等。

磁盘 I/O 性能指标

  • 使用率,是指磁盘忙处理 I/O 请求的百分比。过高的使用率(比如超过 60%)通常意味着磁盘 I/O 存在性能瓶颈。
  • IOPS(Input/Output Per Second),是指每秒的 I/O 请求数。
  • 吞吐量,是指每秒的 I/O 请求大小。
  • 响应时间,是指从发出 I/O 请求到收到响应的间隔时间。

指标清单

Linux性能优化——IO总结

I/O 性能指标工具

Linux性能优化——IO总结

工具指标指南

Linux性能优化——IO总结

IO问题分析基本思路

  • 先用 iostat 发现磁盘 I/O 性能瓶颈;
  • 再借助 pidstat ,定位出导致瓶颈的进程;
  • 随后分析进程的 I/O 行为;
  • 最后,结合应用程序的原理,分析这些 I/O 的来源。

所以,为了缩小排查范围,我通常会先运行那几个支持指标较多的工具,如 iostat、vmstat、pidstat 等。

整个分析流程整体图如下:
Linux性能优化——IO总结

上一篇:iostat 命令查看io信息


下一篇:25 | 基础篇:Linux 磁盘I/O是怎么工作的(下)