人大金仓数据库连接异常简单分析查看的方法

人大,数据库,连接,异常,简单,分析,查看,方法 · 浏览次数 : 114

小编点评

## 问题定位方法分析 **方法 1:lsof 命令** * 查看 `lsof -i:54321 > 1.txt` 命令的输出,其中 `54321` 代表 `mysql` 服务的端口。 * 统计 `1.txt` 中每分钟有多少连接。 * 观察连接数是否在增加或减少。 **方法 2:sys_stat_activityselect** * 查询 `sys_stat_activity` 表,其中 `count(1)` 表示连接数量,`usename` 表示用户名。 * 排序结果按用户名降序,以了解连接数量最多的用户。 * 通过分析 `usename` 字段,定位到数据库用户。 **方法 3:sys_log 文件分析** * 打开 `sys_log` 文件,其中 `root@kingbase` 表示当前用户名。 * 筛选以 `kingbase` 为用户名的所有日志记录,并按时间排序。 * 分析记录以了解数据库执行的 SQL 语句,并定位异常连接。 **其他思路:** * 可以尝试修改 `my.cnf` 文件中的 `max_connections` 或 `max_user_connections` 参数。 * 可以限制每个用户的连接数量,例如使用 `limit` 语句。 **建议:** * 在分析连接异常时,除了关注 `max-connections` 和 `active` 之外的指标,还可以关注其他指标,例如 `queries/second`、`slow queries` 等。 * 可以使用不同的工具进行分析,例如 `top`、`zabbix` 等。 * 建议定期对数据库进行性能测试,以了解其性能问题。

正文

人大金仓数据库连接异常简单分析查看的方法


背景

这边一个测试环境,人大金仓4000的连接池
最近出现多次 连接池用光的问题.
想着简单分析一下. 给研发同事进行问题定位.
这里简单记录一下

问题流程

研发反馈数据库无法连接.
我这边之前部署了一套 kmonitor 直接进行查看. 

发现max-connections 和 active的连接数都已经4000了. 
所以已经无法再创建连接. 

查看罪魁祸首

方法1: 通过linux命令行查看
lsof -i:54321 > 1.txt
cat 1.txt |awk -F '>' '{print $2}' |awk -F ":" '{print $1}' |sort |uniq -c |sort -k1hr
发现最多连接人大金仓的机器信息. 

方法2: 查看系统视图 sys_stat_activity
select count(1),usename  from sys_stat_activity GROUP BY usename ORDER BY 1 DESC ;
这个不仅能够定位到IP地址, 还能够定位到具体的数据库用户, 便于更细粒度的分析问题. 
可以通过query 字段简单看看异常连接正在执行的SQL信息. 

方法3: 查看sys_log的目录信息. 
查看sys_log 下面的当前 日 为后缀的文件. 分析那些数据库执行了哪些SQL
比如我这边的为: 
[root@kingbase sys_log]# pwd
/nvme01/kingbase/data/sys_log
[root@kingbase sys_log]# ll
总用量 89368244
-rw------- 1 kingbase kingbase    10877867  8月  1 23:59 kingbase-01.log
-rw------- 1 kingbase kingbase    41489314  8月  2 19:45 kingbase-02.log
-rwxr-x--- 1 kingbase kingbase   143976851  7月 19 18:29 kingbase-16.log
-rwxr-x--- 1 kingbase kingbase   402925585  7月 19 18:29 kingbase-17.log
-rwxr-x--- 1 kingbase kingbase   366278654  7月 19 18:29 kingbase-18.log

可以查看具体的log 日志进行一些简要分析. 

其他思路

人大金仓可以修改单个用户的最大连接数:
alter user some_user_name  with connection limit 1000 ;

这样可以不影响整个产品的稳定, 只影响一个关键应用.

与人大金仓数据库连接异常简单分析查看的方法相似的内容:

人大金仓数据库连接异常简单分析查看的方法

# 人大金仓数据库连接异常简单分析查看的方法 ## 背景 ``` 这边一个测试环境,人大金仓4000的连接池 最近出现多次 连接池用光的问题. 想着简单分析一下. 给研发同事进行问题定位. 这里简单记录一下 ``` ## 问题流程 ``` 研发反馈数据库无法连接. 我这边之前部署了一套 kmonit

[转帖]人大金仓数据库的备份与还原

人大金仓数据库的备份与还原 文章目录 人大金仓数据库的备份与还原前言备份sys_dump 命令 还原ksql 命令sys_restore 一. 从人大金仓数据库备份还原到人大金仓数据库二 从postgresql数据库备份还原到人大金仓数据库 后记 前言 本文记录一次使用人大金仓数据库(Kingbas

[转帖]人大金仓数据库的用户与角色

数据库的表、索引、视图等,在数据库中的一切都可以称为数据库对象。 对象分为以下两类 模式(SCHEMA)对象:可视为一个表的集合,可以理解为一个存储目录,包含视图、索引、数据类型、函数和操作符等。非模式对象:其他的数据库对象。如数据库、表空间、用户、权限。 查看当前用户在数据库中拥有的权限 \l 查

[转帖]人大金仓数据库分区表

分区表 声明式创建分区 按列创建分区(PARTITION BY LIST) 将学员表student按所在城市使用partition by list创建分区 创建分区表(基表) 创建格式 create table 表名(字段名 数据类型)PARTITION BY LIST(要分区的字段名) 创建子分区

WTM的项目中EFCore如何适配人大金仓数据库

一、WTM是什么 WalkingTec.Mvvm框架(简称WTM)最早开发与2013年,基于Asp.net MVC3 和 最早的Entity Framework, 当初主要是为了解决公司内部开发效率低,代码风格不统一的问题。2017年9月,将代码移植到了.Net Core上,并进行了深度优化和重构,

[转帖]国产数据库到底行不行?人大金仓KINGBASE数据库与主流开源数据库性能实测

近年来,人大金仓的数据库产品受到了外界诸多的关注。做产品,免不了要接受用户的对比和选择,数据库因其行业的自身特点,还有很多开源的技术产品同台比拼,用户因此也会产生诸多疑问,国产数据库相比开源数据库到底如何,今天我们选择数据库的一项核心能力——性能,将金仓KingbaseES和目前业界主流的两种开源数

人大金仓学习之三-表空间与跨磁盘存储和分区表

# 人大金仓学习之三-表空间与跨磁盘存储和分区表 ## 背景 ``` 最近在用人大金仓的数据库. 前期学习了 kwr和ksh等工具. 今天想验证一下性能相关的情况. 因为机器正好有多个磁盘的分区. 想着能够将所有的硬盘都用上. 提高性能, 感觉总体还不错, 所以想总结一下. 注意这里只考虑 OLTP

人大金仓学习之一_kwr的简单学习

# 人大金仓学习之一_kwr的简单学习 ## 摘要 ``` 周末在家想着学习一下数据库相关的内容. 网上找了不少资料, 想着直接在本地机器上面进行一下安装与验证 理论上linux上面应该更加简单. windows 上面可能不如linux方便 主要是记录一下使用和注意事项. ``` ## ISO下载

人大金仓备份恢复的简单学习

人大金仓备份恢复的简单学习 背景 最近公司里要适配人大金仓 想着最快的办法是将自己的数据库备份恢复到现场 发现备份很简单. 理论上恢复应该也类似. 想着能够模仿PG数据库的模式进行相关的操作. 备份操作 cd /opt/Kingbase/ES/V8/Server/bin/ ./sys_dump -h

Jmeter学习之四_kingbaseV8R6数据库的简单验证

# Jmeter学习之四_kingbaseV8R6数据库的简单验证 ## 背景 ``` 周一没去报道, 因为我忘记体检了... 继续在家进行学习提高自己. jmeter周末时开始看的. 今天想着继续研究一下对数据库的处理 突然发现人大金仓的官方csdn有一个文档, 所以想着偷师,并且总结学习一下.