GaussDB(DWS)等待视图wait_status常见状态介绍

网友投稿 1077 2022-05-28

等待视图pgxc_thread_wait_status是处理性能问题,查看语句执行状态最常用的视图之一。其中关键的一个字段是wait_status字段,表示当前线程的等待状态。等待状态的详细信息。产品文档中有章节专门对此字段进行描述(参考:https://support.huaweicloud.com/devg-dws/dws_04_0783.html)。本文针对性能调优过程中最常见的几种等待状态进行介绍,供读者参考。

1. none

GaussDB(DWS)等待视图wait_status常见状态介绍

none状态表示该线程并未在等其他线程,说明本线程正在工作,暂时不需要其他线程的数据,如果只有某一个dn的状态是none,其他dn状态是wait node或synchronize quit,说明该节点有瓶颈,需要排查是否有资源瓶颈或存在数据倾斜。

2. wait cmd

wait cmd表示当前线程已执行完毕,正在等待下一条输入。此种场景多见于copy场景,copy导入等待源端供数,copy导出等待目标端写数,都会出现这种情况。例如:构造场景:copy t(a) from stdin;

停止输入后,查看该语句等待视图如下:

如果所有线程等待状态均为wait cmd,说明当前已执行完毕,正在等待下一条数据输入。在现网此种场景下,需排查源端供数是否有瓶颈。

如果部分线程执行完,正在等待其他线程执行,等待状态也会是wait cmd。

3. synchronize quit

此线程已执行完毕,等待stream线程统一退出,此类线程不消耗资源,可以忽略,在查看等待视图时,一般将其过滤掉。

4. acquire lock

等待表级锁,锁等待案例不在赘述,参考:https://bbs.huaweicloud.com/blogs/233114

5. acquire lwlock

获取轻量级锁,一般是资源管理相关的锁,不会持续很长时间,与当前集群资源情况(IO等资源)有关

6. wait io

等待IO完成,如果有大量wait io,说明当前io读写压力较高,可以通过iostat观察集群IO使用率等是否过高(超过90%),判断是单节点IO高还是整体IO高。

单节点IO高:排查坏盘、磁盘读写策略、语句残留、存储倾斜、计算倾斜等场景;

整体IO高:排查磁盘读写策略、表涉及是否合理、sql优化等角度处理。

7. wait pooler get conn、pooler create conn: [nodename], total N、stream get conn、wait producer ready

建联相关的等待事件,一般情况下这几个状态可能会同时出现,出现多个此类状态时说明集群间网络存在问题,需要排查网络,参考此链接排查:https://bbs.huaweicloud.com/blogs/235237。

最常见的一种场景是arm服务器未做网卡加固导致网络重传率高:https://bbs.huaweicloud.com/forum/thread-110780-1-1.html,需根据加固文档完成网卡加固。

HCS场景下,stream慢的原因可能是网卡监控脚本重启网络服务导致:https://bbs.huaweicloud.com/forumreview/thread-186881-1-1.html

8. flush data: [nodename](plevel), wait quota

这种状态是当前节点向对端节点发送数据,正在等待quota值,一般是对端消费慢。例如:

表示dn_6071向dn_6129的第5层(执行计划的第5层)发送数据,正在等待quota,说明dn_6129端消费慢,来不及处理发送过来的数据。如果长时间wait quota,需查看是否有数据倾斜(6129上数据量太多来不及处理发送过来的数据)或通信参数不合理(通信参数:https://bbs.huaweicloud.com/blogs/239863)。

9. wait wal sync、wait data sync、wait data sync queue

此类状态是主机向备机同步wal log或数据页,多发生于批量导入场景,尤其是行存表带索引导入并且在IO压力大时容易出现。业务上尽量避免行存表带索引的大批量导入。出现此类情况时,如果是单个节点出现且持续时间很长,可尝试kill 对端备机观察;如果多个DN出现,建议降低集群压力,减少并发导入的并发度。

10. wait transaction sync: xid

等待事务同步,事务同步的超时时间是600s,超过该时间会报错,可根据以下案例排查:https://bbs.huaweicloud.com/forum/thread-79130-1-1.html

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

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

上一篇:【转】Linux下如何释放内存
下一篇:python 包之 Pygame 游戏开发教程
相关文章