在ELK的邮件报警中,发现了一个 WARNING: pgstat wait timeout 的报错信息,看字面意思是pgstat有关操做等待超时。
经过google查询,发如今pg的邮件列表中提到多数为io不足引发的,经过sar命令,查看当时的io状况,发现io的使用率在80%-100%之间。暂时以io不足致使的,网上也有提到其余缘由,像是ip地址问题,像是stats_temp_directory参数配置问题,当前因为是运行已久的数据库,并检查相关参数后,排除以上缘由。
因为报错的是pgstat,又了解到现网的pg版本是9.0,在stats_temp_directory中的pgstat文件只有一个,在pg9.3后,进行了切分,每个库一个,外加一个全局pgstat文件,历来减小了io的开销。
在stats_temp_directory中存放的统计信息文件是临时的,在数据库关闭或crash的状况下,会保存到pg_stat目录中,进行持久化落盘。