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

举报
兜兜转转 发表于 2020/11/23 19:47:58 2020/11/23
【摘要】 背景及现象描述(Background and Symptom)*1. 环境信息:GaussDB A 8.0.0版本12节点集群2. 问题现象:客户反映业务执行慢,原本几分钟的业务一个小时都跑不完,造成大量业务累计。 3. 分析过程1. 初步分析为客户连接数过高导致IO高,限制连接数后IO稍有回落,后续IO又升高至95%以上且限制连接数后严重影响用户...

背景及现象描述(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+


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

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

4.       确认work_mem设置大小

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

原因分析(Cause Analysis)*

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

解决办法(Solution)*

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

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


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。