DBdoctor新功能上线:一键搞定实时会话管理,快速解决数据库卡顿

38 阅读4分钟

前言

在之前的文章中我们介绍了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索引推荐并执行等,进一步丰富智能自治功能,敬请期待!


免费下载/在线试用

www.dbdoctor.cn/?utm=22

公众号:DBdoctor

如果您是开发或DBA欢迎关注公众号,关注公众号回复:“进群”,可拉您进入技术交流群