SQL下盘导致磁盘IO高问题分析

网友投稿 742 2022-05-28

背景及现象描述(Background and Symptom)*

1.      环境信息:

GaussDB A 8.0.0版本12节点集群

2.      问题现象:

客户反映业务执行慢,原本几分钟的业务一个小时都跑不完,造成大量业务累计。

3.       分析过程

1.       初步分析为客户连接数过高导致IO高,限制连接数后IO稍有回落,后续IO又升高至95%以上

且限制连接数后严重影响用户使用

2.       连到数据库,查用线程的id,查pgxc_thread_wait_status,可以找到对应语句的query_id

可以看到该sql处理flush data状态

3.       检查下盘文件,发现每个数据目录下均有不等的下盘文件,且个别sql的下盘文件数达到3000+

下盘文件中间部分的id为query_id,根据query_id找到对应的sql

与业务侧同事确认该sql不合理,需要整改

SQL下盘导致磁盘IO高问题分析

4.       确认work_mem设置大小

当前集群work_mem设置为512MB,设置的过小导致下盘情况容易产生,目前调整为3GB

原因分析(Cause Analysis)*

当work_mem设置较小场景时,会产生大量的下盘,时时在数据盘上读写文件,导致数据盘读写IO繁忙,因此影响其他业务运行。

解决办法(Solution)*

(1)       调整work_mem,使其满足大部分业务的使用场景

(2)       整改不合理业务,使客户系统运行更顺畅。

数据仓库服务 GaussDB(DWS) SQL EI企业智能 Gauss AP

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:扩容LVM盘(linux)
下一篇:Linux 获取磁盘的UUID
相关文章