ITPub博客

首页 > 数据库 > > 系统视图-PGXC_THREAD_WAIT_STATUS

系统视图-PGXC_THREAD_WAIT_STATUS

作者:GaussDB_数据库 时间:2020-01-19 09:18:28 0 删除 编辑

通过PGXC_THREAD_WAIT_STATUS视图,可以查看集群全局各个节点上所有SQL语句产生的线程之间的调用层次关系,以及各个线程的阻塞等待状态,从而更容易定位进程停止响应问题以及类似现象的原因。

PGXC_THREAD_WAIT_STATUS视图和PG_THREAD_WAIT_STATUS视图列定义完全相同,这是由于PGXC_THREAD_WAIT_STATUS视图本质是到集群中各个节点上查询PG_THREAD_WAIT_STATUS视图汇总的结果。

表1 PGXC_THREAD_WAIT_STATUS字段

名称

类型

描述

node_name

text

当前节点的名称。

db_name

text

数据库名称。

thread_name

text

线程名称。

query_id

bigint

查询ID,对应debug_query_id。

tid

bigint

当前线程的线程号。

lwtid

integer

当前线程的轻量级线程号。

ptid

integer

streaming线程的父线程。

tlevel

integer

streaming线程的层级。

smpid

integer

并行线程的ID。

wait_status

text

当前线程的等待状态。等待状态的详细信息请参见表2。

wait_event

text

如果wait_status是acquire lock、acquire lwlock、wait io三种类型,此列描述具体的锁、轻量级锁、IO的信息。否则是空。

例如:

在coordinator1执行一条语句之后长时间没有响应。可以创建另外一个连接到coordinator1上,查询coordinator1上的线程状态。

select * from pg_thread_wait_status where query_id > ;
node_name | db_name | thread_name | query_id | tid | lwtid | ptid | tlevel | smpid | wait_status | wait_event
--------------+----------+--------------+----------+-----------------+-------+-------+--------+-------+----------------------
coordinator1 | postgres | gsql | 20971544 | 140274089064208 | 22579 | | 0 | | wait node: datanode4 |
(1 rows)

此外,可以查看该语句在全局范围内各个节点上的工作情况。如下所示,每个DN上都没有在等待的阻塞资源,因为读取的数据太多而执行较慢。

select * from pgxc_thread_wait_status where query_id=20971544;
node_name | db_name | thread_name | query_id | tid | lwtid | ptid | tlevel | smpid | wait_status | wait_event
--------------+----------+--------------+----------+-----------------+-------+-------+--------+-------+----------------------
datanode1 | postgres | coordinator1 | 20971544 | 139902867994384 | 22735 | | 0 | | wait node: datanode3 |
datanode1 | postgres | coordinator1 | 20971544 | 139902838634256 | 22970 | 22735 | 5 | | synchronize quit |
datanode1 | postgres | coordinator1 | 20971544 | 139902607947536 | 22972 | 22735 | 5 | 1 | synchronize quit |
datanode2 | postgres | coordinator1 | 20971544 | 140632156796688 | 22736 | | 0 | | wait node: datanode3 |
datanode2 | postgres | coordinator1 | 20971544 | 140632030967568 | 22974 | 22736 | 5 | | synchronize quit |
datanode2 | postgres | coordinator1 | 20971544 | 140632081299216 | 22975 | 22736 | 5 | 1 | synchronize quit |
datanode3 | postgres | coordinator1 | 20971544 | 140323627988752 | 22737 | | 0 | | wait node: datanode3 |
datanode3 | postgres | coordinator1 | 20971544 | 140323523131152 | 22976 | 22737 | 5 | | net flush data |
datanode3 | postgres | coordinator1 | 20971544 | 140323548296976 | 22978 | 22737 | 5 | 1 | net flush data
datanode4 | postgres | coordinator1 | 20971544 | 140103024375568 | 22738 | | | 0 | wait node: datanode3
datanode4 | postgres | coordinator1 | 20971544 | 140102919517968 | 22979 | 22738 | 5 | | synchronize quit |
datanode4 | postgres | coordinator1 | 20971544 | 140102969849616 | 22980 | 22738 | 5 | 1 | synchronize quit |
coordinator1 | postgres | gsql | 20971544 | 140274089064208 | 22579 | | 0 | | wait node: datanode4 |
(13 rows)


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3168883/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19250