通过新的 Grafana Assistant 集成更快排查数据库性能问题

TL;DR · AI 摘要
Grafana Assistant 新集成数据库可观测性功能,利用 AI 结合真实监控数据,帮助用户快速诊断数据库性能问题,无需手动提供上下文。
核心要点
- Grafana Assistant 可基于实际 Prometheus 和 Loki 数据源直接分析数据库性能瓶颈。
- 分析动作由数据库工程师设计,非通用提示,提供针对性优化建议。
- 用户无需复制 SQL 或解释 schema,系统自动加载查询上下文和执行计划。
标题:通过新的 Grafana 助手集成,更快地排查数据库性能问题
URL 来源:http://grafana.com/blog/troubleshoot-performance-issues-faster-with-the-new-grafana-assistant-integration-for-database-observability/
发布时间:2026-05-06
Markdown 内容: 所以你的数据库变慢了。接下来该怎么办?
Grafana Cloud 数据库可观测性 已经为你提供了对 SQL 查询的全面可见性,包括 RED 指标、单个执行样本、等待事件分解、表结构以及可视化执行计划。但可见性只是起点。
你可以看到某个查询的 P99 延迟出现了飙升,但接下来该怎么做?你可能会看到诸如 wait/synch/mutex/innodb 这样的等待事件被触发,但这究竟意味着什么?
幸运的是,你现在可以使用全新的 Grafana 助手 集成功能,比以往更轻松、更快地找到这些问题的答案。你将获得 AI 的强大能力,并结合 Grafana Cloud 可观测性的深度功能,在每次分析查询时都能立即使用。
最棒的部分是:你无需再费心整理上下文、解释表结构或描述时间范围。助手并不是基于你粘贴到独立 AI 工具中的 SQL 副本进行工作。相反,它会直接在你当前查看的时间窗口内,针对你真实的 Prometheus 和 Loki 数据源运行查询,并已加载你实际的表结构、索引和执行计划。
每个标签页都配备了由数据库工程师设计的专用分析操作,而非通用提示。每一次分析都基于来自你数据库的真实数据,并提供具体建议。你的查询文本和表结构元数据仅用于当前分析,不会被存储或用于模型训练。
应对常见数据库问题的提示
为了展示此集成的强大效果,我们来看几个示例,说明助手如何帮助你快速解决一些常见问题。
当然,你仍然可以在助手聊天框中自由输入问题,就像平常一样。但我们还内置了开箱即用的 AI 按钮,为处理缓慢或退化的查询、获取优化建议等场景提供引导式体验。
为什么这个查询很慢?
你已经找到了罪魁祸首——那个查询出现在概览中,持续时间正在飙升,错误率也在上升。点击进入后,你会看到具体的时序性能数据。
数据都在那里,但诊断并不明显。是糟糕的连接(join)还是锁竞争?还是直到数据量增长后才成为问题的全表扫描?
只需点击一个按钮,使用预设提示打开助手。
助手便会开始工作,利用 Loki 和 Prometheus 查询所选时间窗口内的数据,并将其综合成一份统一的健康评估报告。结果显示:持续时间飙升的原因是检查的行数是返回行数的 50 倍,这意味着大部分工作都浪费在了过滤上;P99 是中位数的 12 倍,说明问题是间歇性的,而非持续存在;CPU 时间正常,但等待事件占用了 40% 的执行时间。
最后一点至关重要。等待事件的名称如 wait/synch/mutex/innodb 或 io/table/sql/handler 并不直观易懂,但助手能够理解它们,并告诉你:
“在此等待期间,数据库正从磁盘物理读取数据,因为请求的行不在缓冲池中。这发生的原因是该查询对包含 120 万行的
orders表执行了顺序扫描,而order_date列上没有索引。”
助手在一个回复中,就将指标(40% 等待时间)、原因(顺序扫描、缺少索引)、涉及的表(orders)和列(order_date)全部关联起来,且完全基于你真实的表结构和执行计划。你因此节省了大量时间,避免陷入无谓的排查陷阱。
在下面的视频中,你将看到另一个实际应用的例子。
我到底应该做哪些修改?
有时候你并不确定该问什么。为此,助手会生成具体且可测试的 SQL 语句,例如一条 CREATE INDEX 语句,其中包含:
- 正确顺序的列
- 解释为何该列顺序对查询的
WHERE子句和JOIN条件很重要
- 关于写入性能权衡的说明
这些建议是特定于数据库方言的。对于 PostgreSQL 查询,助手可能会建议在过滤子集上创建部分索引;而对于 MySQL 中的相同模式,则可能建议带有适当键长度的前缀索引。此外,文档链接会指向正确的厂商文档,而非通用的 SQL 参考资料。
_注意:_ _我们建议先在预发布环境中审查建议的更改,再将其应用于生产环境。_
当修复方式是重写查询而非修改索引时,助手会分析数据库处理查询的逐步分解过程(即 EXPLAIN 执行计划),并识别出成本最高的操作。
例如,它可能会发现应改为哈希连接的嵌套循环连接、可通过复合索引消除的排序操作,或更适合改写为 CTE 的子查询。每个瓶颈都附带一个修复方案,每个修复方案又包含一个验证步骤:你可以后续运行的 EXPLAIN 命令,以确认执行计划确实发生了变化。
这些建议基于你的表结构。助手知道你的表上已有的索引、已定义的外键关系(以及缺失的关系),以及数据库当前如何使用这些基础设施制定执行计划。如果你的索引设计已经很合理,它也会如实指出,而不会凭空制造问题。
情况是否正在恶化?
有些查询并未完全“损坏”,而是在逐渐退化。今天的 P50 持续时间尚可,但比上周慢了 20%。没人注意到,因为没有单一的重大事件,只有缓慢的性能下滑。
助手会分析单个执行样本并揭示其中的模式。它会直接比较极端情况:在一次调查中,最快的一次执行耗时 12 毫秒,检查了 200 行;而最慢的一次耗时 3.4 秒,检查了 180,000 行。相同的查询和表结构,执行时间相差 280 倍。
助手会突出显示快速与慢速执行之间的差异:检查的行数、等待事件分解和时间分布。由此,它可以识别出可能的原因。
例如,它能识别出命中更大数据分区的参数值、仅在高负载下出现的锁竞争,或由过时统计信息触发的执行计划变更。最终结果是基于事实数据的完整诊断,而非仅凭查询文本做出的猜测。
整个团队共享的上下文,集中一处
助手还能帮助整个团队协作。每一段对话都可以与团队成员共享,因此开发人员可以在应用索引更改前,将助手的分析结果发送给 DBA 审核,或将分析结果附加到拉取请求(pull request)或事故工单中作为支持证据。
而且它始终触手可及。在任意标签页点击按钮即可使用。获得基于你实时指标的诊断、针对你表结构定制的修复方案,并能将对话分享给团队成员。
立即开始使用
AI 助手现已在 Grafana Cloud 数据库可观测性 中全面上线。对于在预览阶段使用过早期 AI Helper 的用户,你会发现这个新的助手集成更加全面。除了查询辅助外,新助手集成还能帮助你理解执行计划、表结构,并支持后续对话及与团队共享对话。
要开始使用,请导航至查询详情视图,在查询性能、查询样本、等待事件、表结构或执行计划标签页上查找助手按钮。

_Grafana Cloud_ _是开始使用指标、日志、链路追踪、仪表板等功能的最简单方式。我们提供慷慨的永久免费套餐,以及适用于各种用例的付费方案。_ _立即免费注册!_
标签