目录
前言
实时会话管理
DBdoctor 实时会话功能
1.实时会话列表
2.结束会话
3.操作历史
4.SQL分析
结语
前言
在之前的文章中我们介绍了DBdoctor性能洞察功能,它能够快速量化数据库连接会话单条SQL的资源消耗,实现性能问题快速根因定位并给出优化建议。有小伙伴私信我们缺少临门一脚的“执行”功能,这期我们上线啦,提供了实时会话管理、SQL窗口等执行功能,下面我们一起来看看什么是实时会话管理。
实时会话管理
数据库实时会话分析基本上是每个DBA同学的日常运维必备命令,通常大家通过手动执行命令或编写脚本来进行实时会话管理,但这种方式操作风险高,缺少操作审计,日常在哪些场景会用到数据库实时会话?
-
紧急救火场景:当数据库出现卡顿性能问题,比如CPU打满、锁问题等,进行根因问题定位和运维救火(比如Kill导致卡顿的会话)。
-
巡检场景:节假日前或者业务做大促活动场景,需要提前进行会话统计并性能评估。
-
业务接口优化场景:功能响应慢,找到接口涉及的慢SQL并优化。
-
限流场景:出现某业务导致共用的数据库性能问题,需要针对异常业务的会话进行限流。
-
...
针对上述这些性能问题场景中,DBdoctor性能洞察+实时会话功能的搭配,可快速找到的根因SQL并进行会话管理执行,安全高效(细粒度权限控制和操作可审计)。比如业务发生卡顿,性能洞察定位到锁问题的阻塞源头会话ID,点击实时会话指定会话Kill,就能快速解决卡顿。
DBdoctor 实时会话功能
1.实时会话列表
实时会话功能分为会话统计和实时会话列表两个部分。
-
会话统计:按照用户名、IP访问来源、数据库库名三个维度进行实时会话的归类统计,展示不同维度实时会话的活跃数与总数。
-
实时会话列表:展示当前时间的会话列表,默认是手动刷新。用户可以点击会话列表上方的▶︎按钮自动刷新,并可以调整刷新率(5秒、10秒、15秒),在数据库流量高峰或关键时期,可以通过实时会话列表展示所有会话情况,查看当前会话的状态,对数据库状态做进一步分析。
2.结束会话
结束会话功能可指定会话Kill或结束全部会话。性能洞察功能中找到的根因SQL(异常会话导致数据库或业务异常),可通过结束会话功能,防止资源占用、锁问题等情况的产生。
3.操作历史
所有操作变更可审计,可以查看所有操作历史(包括操作人、操作时间、目标SQL等等),变更统一管理。
4.SQL分析
实时会话的SQL分析报告分为SQL统计总览和SQL统计两部分,该功能会对10s内执行的实时会话进行统计分析,得出分析报告。
-
SQL统计总览:展示会话总数、最长会话时间、最长时间会话SQL和该会话SQL的执行耗时分布。
-
SQL统计:按照SQL指纹归类对进行会话统计,包含请求次数、执行耗时分布、平均执行时间、最大执行时间。
结语
DBdoctor性能洞察+实时会话功能的搭配,可实现性能问题的快速定位和优化建议的变更执行,安全高效(细粒度权限控制和操作可审计),在后续的版本迭代中,我们也将持续优化,通过配置自治策略可以进行自动变更,比如SQL限流、SQL索引推荐并执行等,进一步丰富智能自治功能,敬请期待!
************************************************************************************************************
DBdoctor免*费下载地址:https://www.dbdoctor.cn/?utm=02