本文介绍高I/O的相关概念以及常见高I/O的原因。

I/O的相关概念

概念 说明
I/O 对磁盘进行读写的动作。
I/O延时 一个I/O操作的执行时间。
逻辑I/O 由应用程序发给文件系统的I/O。
物理I/O 由文件系统发给磁盘的I/O。
顺序I/O 顺序的从磁盘进行读写操作。
随机I/O 随机的访问磁盘进行读写操作。
同步写 需要等数据完全写入磁盘才进行返回。
异步写 无需等待数据写入磁盘进行返回,释放CPU资源。

常见高I/O的原因

  • 执行了大量扫描行数多的SQL,导致shared_buffer无法缓存所有数据,需要大量的物理I/O。需要您定位问题SQL,并对问题SQL进行优化,查看问题SQL请参见性能洞察I/O高
  • vacuum动作触发的I/O高。主要原因是vacuum相关参数设置不够合理,需要您调整vacuum相关参数,例如vacuum_cost_delay、 vacuum_cost_limit等。设置参数请参见设置参数