SQL下盘导致磁盘IO高问题分析
【摘要】 背景及现象描述(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+ 下盘文件中间部分的id为query_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)