数据库连接池监控的另类方案

news2025/1/18 4:42:31

0a40fbb1dbd20a9cca94bd8e4f16976e.jpeg

如果这篇对你有帮助,还请麻烦转发。谢谢。

数据库的连接池的监控的重要性

假如,我们在公有云上存在一个数据库数据库实例X。公有云配置中已经说明X所支持的最大连接数是1000。

如果数据库X的实际连接数达到了1000,那么,新的连接就无法再与该数据库连接。

造成的直接问题是:某些应用可能无法写入或者读取数据。注意是“可能”。所以,这个“直接问题”非常的随机。

还没完。根据你的业务,你可能还会产生一系列连锁反应,比如:

  1. 1. 缓存与数据库数据不一致;

  2. 2. 应用线程数暴增;

  3. 3. 服务CPU使用率暴增。

连锁反应可能是爆炸式的,总的一句话:你根本不知道会发生什么。

所以,数据库的连接池的监控非常的重要。

常规方案

常规的监控方案是,当数据库实例的实际连接数到达800,并持续5分钟时,进行warning级别的通知。到达950,并持续1分钟时,进行critical级别的通知。

这个方案是可行的,但是不够好,因为当出现告警时:

  1. 1. 你无法根据这个告警通知,分析出是哪个应用发起的连接数过多导致的;

  2. 2. 事故可能已经发生了,我们希望更早的阶段知道,并且避免这个事故。

有没有更好的解决方案呢?

另类方案的思路

常规的监控方案还是必须要有的。因为那是针对的数据库实例本身的监控。

我们需要另一个方案进行补充,即标题所写:另类方案。

之所以另类,是因为在行业里,我还没有发现有人这么做的(所以也可能是我孤陋寡闻)。

思路如下:

存在一个数据库,它所支持的最大连接数是 S。

存在一个需要连接数据库的应用A,它配置了最小连接数为5。同时,A应用在环境中有10个实例。所以,A应用总共需要10 * 5=50个连接数。

我们只需要在配置编译打包pipeline过程中,进行判断 S > 50。这个判断我们称之为连接数配置合法性校验。

如果是false,那么整个pipeline failed。

另类方案的实现

思路是这样。但是如何实现呢?这取决于你的配置方案的实现。

如果配置存在CMDB中,应用也从CMDB中获取,那么,连接数配置合法性校验就实现在CMDB中。

如果配置被当成代码进行管理,那么,在配置代码被编译打包的阶段实现。

如果配置存放在基于自建的,界面(GUI)的配置管理系统中,那么,你就需要修改这个配置管理系统。

换一句话说:实现方案取决于配置的来源。

本文完。

往期好文推荐:

  • 另类的思路CMDB建设思路

  • 微服务架构下的配置治理模式

  • Everything as Code 并没有你想象中的那么美好

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/161930.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

输入的文本就能演奏一段爵士乐? #Riffusion

riff diffusion 是 stable diffusion 的微调模型,以生成频谱图图像来转换音乐。能产生更精准的声音模型叫:Riffusion。它能对音频进行剪辑处理,或者是无限地修改提示符。Riffusion图源:riffusion 官网频谱图频谱图是音频声波的视…

【超分综述】

A comprehensive review on deep learning based remote sensing image super-resolution methods (基于深度学习的遥感图像超分辨率方法综述) 卫星图像是地球科学领域各种应用的重要地理信息源。然而,由于光学和传感器技术的局限性以及传感器和设备更新的高成本&…

迅为i.MX8M Mini开发板debug调试方法(Qir trl RIL驱动不工作)

可能导致 Quectel RIL 操作失败的原因有很多。一些常见的原因如下所示,用于故障排除。 1 输入以下命令用于检查 ril daemon 的状态。如果未返回任何值,或者返回了 Stopped 或 Restarting 等 值而不是 Running,则表明 RIL 守护进程未运行。 ge…

时序预测 | Python实现Attention-TCN注意力机制时间卷积神经网络的多元时间序列预测

时序预测 | Python实现Attention-TCN注意力机制时间卷积神经网络的多元时间序列预测 目录 时序预测 | Python实现Attention-TCN注意力机制时间卷积神经网络的多元时间序列预测预测效果基本介绍环境配置程序设计模型效果参考资料预测效果 基本介绍 使用时间注意卷积神经网络进行…

2023版大数据学习路线图(适合自学)

随着信息产业的迅猛发展,大数据应用逐渐落地,行业人才需求量逐年扩大。大数据成为目前最具前景的高薪行业之一,大数据分析工程师、大数据开发工程师等大数据人才也成为市场紧缺型人才,薪资一涨再涨。很多人想要加入到大数据开发行…

学会这几个方法,帮你轻松完成工作

方法一:分节 分节有比分页更体贴入微的分节功能。 “节”在word中是很重要的,它代表着文档中的标记。 分页只是视觉上产生了一个新页,分节让Word在内容上建立一个个不同的区域。 操作方法: 鼠标光标定位在需要分节的文档位置…

Java-Jstack-生产问题的排查死锁/泄露/cpu负载

文章目录 排查死锁jdk自带的jstack排查死锁jdk自带的jconsole排查死锁排查CPU爆满内存溢出、泄漏排查内存溢出定位 - 内存泄漏内存溢出实战排查死锁 首先如果是本地开发环境可以通过JVisualVM查看是否有长时间休眠的线程 注意:正式部署版本不会用JVisualVM,会留下漏洞jdk自带…

第一天总结之项目的搭建

第一天总结之项目的搭建: Mvc框架的搭建 1、创建一个javaWeb项目 创建项目 添加web支持 在Web-INF下创建 classes和lib文件夹 重构项目 配置tomcat 2、搭建 Mvc框架 在src下创建 com.edu文件夹 在其下分别创建controller dao entity filter service utils文件夹…

Clion配置openCV开发环境(Clion+MinGW+CMake+openCV)

所需资源 系统 win11(X64)MinGW-W64 GCC-8.1.0 x86_64-8.1.0-release-posix-seh.7z MinGW作用是opencv需要用到支持多线程(posix版本)的C编译环境。Clion-2022.3.1.exeCMake-3.25.1-windows-x86_64.msiopenCV4.6.0 安装步骤 解压ming.7z,安…

node.js全栈项目

一、项目介绍本项目适合作为一个课程设计或者毕业设计,最终实现了一个完整的博客系统,包括用户的登录、注册,图片上传,文章的发布、富文本编辑器、删除、编辑、修改、列表展示,评论的发布、删除、列表展示,…

K2P padavan固件下宽带与IPTV融合

一、我的需求 坐标江苏小城,原来手机用的99的套餐,可以免费带一个副卡,现在升级了电信129的5G融合套餐,送了一个iTV(一个月10元),但是副卡收费10元,哎,算来算去都没有运营…

【软考】系统集成项目管理工程师(十三)项目干系人管理

一、项目干系人管理基础二、干系人管理子过程1. 识别干系人2. 规划干系人管理3. 管理干系人4. 控制干系人参与一、项目干系人管理基础 项目干系人管理是指对项目干系人需求、希望和期望的识别,并通过沟通上的管理来满足 其需要、解决其问题的过程。 每个项目都有干系人,他们…

雅思经验(3)

听力技巧:section 1错1,section 2错2,section 3错5,section 4错5,共错13题,才擦边达到6.5分。听力的关键点在于2和4,因为1和3的场景基本可以固定下来。剑9的section3那个Soiros同学真的很可怕,印度人,口音真的非常重,但…

LVGL基础部件学习笔记

目录 1、基础对象基本属性用法(所有部件都可以用) 1.1、基础对象的大小(Size) 1.2、基础对象的位置(Position) 1.3、基础对象对齐(Alignment) 1. 4、基础对象的盒子模型(border-box) 1.5、基础对象的样式(styles) 1.6、基础对象的事件(events) 2…

小偷与守望者.math库.动态规划.贪心.C

1.分别讨论0或1;边界 2.写出递推方程;最优子结构、状态转移方程、重叠子问题 int rob(int* arr, int size){ int dp[size];int result; if(size0)return 0; if(size1)return arr[0]; else{ dp[0]arr[0]; dp[1]arr[1] > arr[0] ? arr[1]:arr[0]; for (int i 2; i < siz…

php学习笔记-连接操作mysq数据库(基础)-day08

php学习笔记-连接操作mysq数据库-day08php中常用的mysql操作函数1.连接mysql服务器mysqli_connect()2.设置数据库字符集 和 发送sqlmysqli_query() 函数 可以用来设置数据库字符集。3.关闭mysql服务器连接mysqli_close();4.选择要操作的数据库mysqli_select_db()5.结果集释放my…

C#大型在线学习平台源码(PC端+手机端)

本套源码目录结构清晰、代码层次分明、文档齐全。源码分享&#xff01;需要源码学习可私信我获取。 系统简介 中小学教育平台是一个集学、练、考于一体的在线教育平台&#xff0c;可以帮助中小学教育机构建设网络课堂&#xff0c;用于同步课程、专题课堂、兴趣课堂等网络教育的…

当用户输入一堆这样的字符串到 Elasticsearch ?

1、问题引出如下样例数据已导入 Elasticsearch&#xff0c;如何实现特定字段检索&#xff1f;并计算出特定子字段的长度&#xff1f;"message": "[策略排序]排序后结果:[{\"intentItems\":[\"200001\"],\"level\":1,\"modul…

2021帆软杯一等奖 | 《游乐园综合管理系统》

# 作品主题——游乐园综合管理系统 #作品简介&#xff1a;该获奖作品来自零代码开发赛道。针对一些个人经营、没有统一规范的游乐园&#xff0c;希望通过创建一个简单、高效的系统应用&#xff0c;管理人员能够通过对表单的简单操作就能管理游乐园&#xff0c;如获取工作人员信…

程序分析-动态程序切片

最近在调研符号执行工具优化方式时&#xff0c;发现好几篇工作都用到了动态程序切片&#xff0c;以前大部分接触的都是静态切片&#xff0c;对动态切片几乎不了解。所以开始学习动态切片&#xff0c;我主要参考的是90年的一篇上古paper。 1.静态依赖图和静态切片 说到程序切片…