YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
SQL 参考
- ABORT
- ALTER_DATABASE
- ALTER_EXTENSION
- ALTER_EXTERNAL_TABLE
- ALTER_FOREIGN_DATA_WRAPPER
- ALTER_FOREIGN_TABLE
- ALTER_FUNCTION
- ALTER_INDEX
- ALTER_RESOURCE_GROUP
- ALTER_RESOURCE_QUEUE
- ALTER_ROLE
- ALTER_RULE
- ALTER_SCHEMA
- ALTER_SEQUENCE
- ALTER_SERVER
- ALTER_TABLE
- ALTER_TABLESPACE
- ALTER_TYPE
- ALTER_USER_MAPPING
- ALTER_VIEW
- ANALYZE
- BEGIN
- CHECKPOINT
- COMMIT
- COPY
- CREATE_DATABASE
- CREATE_EXTENSION
- CREATE_EXTERNAL_TABLE
- CREATE_FOREIGN_DATA_WRAPPER
- CREATE_FOREIGN_TABLE
- CREATE_FUNCTION
- CREATE_INDEX
- CREATE_RESOURCE_GROUP
- CREATE_RESOURCE_QUEUE
- CREATE_ROLE
- CREATE_RULE
- CREATE_SCHEMA
- CREATE_SEGMENT_SET
- CREATE_SEQUENCE
- CREATE_SERVER
- CREATE_TABLE
- CREATE_TABLE_AS
- CREATE_TABLESPACE
- CREATE_TYPE
- CREATE_USER_MAPPING
- CREATE_VIEW
- DELETE
- DROP_DATABASE
- DROP_EXTENSION
- DROP_EXTERNAL_TABLE
- DROP_FOREIGN_DATA_WRAPPER
- DROP_FOREIGN_TABLE
- DROP_FUNCTION
- DROP_INDEX
- DROP_RESOURCE_GROUP
- DROP_RESOURCE_QUEUE
- DROP_ROLE
- DROP_RULE
- DROP_SCHEMA
- DROP_SEGMENT_SET
- DROP_SEQUENCE
- DROP_SERVER
- DROP_TABLE
- DROP_TABLESPACE
- DROP_TYPE
- DROP_USER_MAPPING
- DROP_VIEW
- END
- EXPLAIN
- GRANT
- INSERT
- LOAD
- LOCK
- REINDEX
- RELEASE_SAVEPOINT
- RESET
- REVOKE
- ROLLBACK_TO_SAVEPOINT
- ROLLBACK
- SAVEPOINT
- SELECT INTO
- SET ROLE
- SET TRANSACTION
- SET
- SHOW
- START TRANSACTION
- TRUNCATE
- UPDATE
- VACUUM
查询监控
本文档主要介绍了如何使用 YMatrix 的图形化界面分析、管理数据库的活跃查询及阻塞查询。
YMatrix 支撑业务运行时常常需要执行海量的查询,为方便我们日常监控查询的运行状态,查询监控功能实时提供数据库活跃查询及阻塞查询信息,帮助我们管理和分析慢查询和查询阻塞情况,提高数据库服务效率。
慢查询是指数据库中查询时间超过指定阈值的 SQL,它是数据库的性能杀手,也是业务优化数据库访问的重要抓手。查询监控展示了数据库当前存在的、指定条件的慢查询信息,帮助你管理和分析慢查询,提高数据库服务效率。
1 准备工作
首先,你需要登录图形化界面。在浏览器里输入 MatrixGate 所在机器的 IP(默认是 Master 的 IP)、端口号:
http://<IP>:8240
2 查询监控
2.1 活跃会话
2.1.1 活跃会话列表
登录之后点击左侧导航栏的“查询监控”。进入“活跃会话”页面。
- 查询列表数据来源于
pg_stat_activity
,默认按照query_start
时间倒序排序,列表内容 10秒 自动刷新一次,若需要仔细查看列表中的某一条信息,可以暂停刷新,防止自动刷新功能过滤掉正在查看的会话。为了降低频繁自动刷新带来的负载,当你退出查询监控页面时,系统将暂停自动刷新。 - 查询列表默认展示
active
+idle in transaction
状态的查询,state
状态栏上可以点击任意状态来筛选列表内容,每个状态块中显示的是状态+ 处于该状态的会话数量
。
idle in transaction
的说明
该状态表示查询语句已经执行完成,但是对应事务还未提交或回滚。需要注意的是,此状态下的语句,虽然不占用 CPU 和 I/O 等资源,但是会占用连接数、并发数等连接资源,同时事务中每一条查询持有的锁均不会释放,直到对应事务提交或回滚才会释放,在此期间与该事务涉及的表的查询多数都将被阻塞,会影响服务的响应速度。
若发现事务处于idle in transaction
状态时间过久(如超过一小时),建议及时提交或回滚事务。
2.1.2 活跃会话详情
点击目标会话右侧的“查看”按钮,弹出查询详情页,展示了该查询在 pg_stat_activity
表中所有的字段信息,支持终止会话。
2.2 阻塞会话
2.2.1 阻塞会话列表
点击“阻塞会话”,切换至阻塞会话列表,展示当前数据库中的会话阻塞关系,默认按阻塞时长的倒序排列,即阻塞关系存在的时长越长,排序越靠前。列表内容 10秒 自动刷新一次,若需要仔细查看列表中的某组阻塞关系信息,可以暂停刷新,防止自动刷新功能过滤掉正在查看的阻塞状态的会话。为了降低频繁自动刷新带来的负载,当你退出查询监控页面时,系统将暂停自动刷新。
2.2.2 阻塞会话详情
点击目标阻塞关系右侧的“查看”按钮,弹出查询详情页,支持终止会话。