22. ClustrixDB 杀掉恶意会话
2024-08-30 07:42:42
ClustrixDB提供了几种机制来识别消耗大量系统资源的查询。这样的查询通常是应用程序索引不良或错误的结果。
ClustrixDB支持以下语法来杀死查询:
KILL [QUERY | CONNECTION] session_id
识别长时间运行的查询
下面的语句将输出系统中运行时间最长的查询。这通常是系统管理员识别行为不端的集群上可能出现的问题的第一步。会话虚拟关系提供了关于每个会话执行状态的大量细节。除了当前语句外,还将显示连接信息和事务状态。
sql> select * from system.sessions where statement_state = 'executing' order by time_in_state_s desc limit \G
*************************** . row ***************************
nodeid:
session_id:
source_ip: 10.2.2.243
source_port:
local_ip: 10.2.14.15
local_port:
user:
database: system
trx_state: open
statement_state: executing
xid:
cpu:
isolation: REPEATABLE-READ
last_statement: select * from sessions where statement_state = 'executing' order by time_in_state_s desc limit
time_in_state_s:
created: -- ::
heap_id:
trx_age_s:
trx_mode: autocommit
trx_counter_select:
trx_counter_insert:
trx_counter_update:
trx_counter_delete:
trx_is_writer:
row in set (0.00 sec)
识别长时间运行的写入事务
在ClustrixDB等完全关系的SQL数据库中,长时间运行的写事务可能会导致问题。通常,行为不端的应用程序会错误地关闭自动提交选项,让每个会话在一个非常长的事务中运行。当发生这种情况时,这些事务将积累大量的写锁,从而阻止其他试图修改相同数据的事务运行。为了识别这些情况,ClustrixDB在sessions关系中包含几个列,这些列跟踪事务的时间、当前事务中执行的语句的数量和类型,以及事务是否发出任何写操作(布尔值0,1)。
例如,要查找系统中最古老的写事务,发出以下命令:
sql> select * from system.sessions where trx_is_writer order by trx_age desc limit \G
*************************** . row ***************************
nodeid:
session_id:
source_ip: 10.2.2.243
source_port:
local_ip: 10.2.14.15
local_port:
user:
database: sergei
trx_state: open
statement_state: executing
xid:
cpu:
isolation: REPEATABLE-READ
last_statement: select * from system.sessions where trx_is_writer order by trx_age desc limit
time_in_state_s:
created: -- ::
heap_id:
trx_age_s:
trx_mode: explicit
trx_counter_select:
trx_counter_insert:
trx_counter_update:
trx_counter_delete:
trx_is_writer:
row in set (0.00 sec)
最新文章
- 透析Express.js
- ajax 请求多张图片数据
- Thinkphp源码分析系列(一)–入口文件
- web 前端:连接mysql中文乱码问题的解决办法
- 什么是bower
- delphi 转换sql server 中的 bit类型
- ExtJs双ActionResult共用同一Js文件ID冲突解决方案
- java基础程序设计学习
- TP开发小技巧
- Go程序GC优化经验分享
- docker入门实战笔记
- Eclipse插件手动安装
- GitHub使用(三) - GitHub安装及初步使用
- 【转】 Python调用(运行)外部程序
- 三星5.0以上机器最简单激活Xposed框架的经验
- js实现一键导出Excel
- jmeter接口测试实例6-注册(参数化)
- springboot mail+Thymeleaf模板
- centos7安装elasticsearch-head
- css---颜色过渡渐变