您可以从 Timescale 指标仪表板查看您的服务指标。此仪表板为您提供服务级别的信息,例如 CPU、内存和存储使用率。

您可以使用预装的 pg_stat_statements 扩展从 PostgreSQL 客户端查看您的查询级别统计信息。

Timescale 提供了一个指标仪表板来管理您的服务。您可以在您的 Timescale 帐户中查看指标仪表板,方法是导航到服务部分,单击您想要探索的服务,然后选择指标选项卡。

您可以查看以下任何时间范围内您的服务的指标

  • 过去一小时,粒度为一分钟
  • 过去 24 小时,粒度为一分钟
  • 过去七天,粒度为一小时
  • 过去 30 天,粒度为一小时

要更改视图,请从下拉菜单中选择时间范围。

Timescale Metrics dashboard

此外,您可以打开和关闭自动指标刷新。当自动指标刷新打开时,仪表板每三十秒更新一次。

在某些情况下,灰色竖条会显示在指标仪表板上,如下所示

Timescale Metrics not collected

这表示在显示的时间段内未收集到指标。这并不意味着您的 Timescale 服务已关闭。

Timescale 持续监控所有数据库服务的健康状况和资源消耗。您可以通过导航到服务仪表板中的指标选项卡来查看您的健康数据。这些指标也由 Timescale 运营团队监控。

Timescale metrics dashboard

pg_stat_statements 扩展为您提供 SQL 语句的查询级别统计信息。它已预装在 Timescale 中。

注意

有关 pg_stat_statements 的更多信息,请参阅 PostgreSQL 文档

您可以通过 pg_stat_statements 扩展查看您的查询统计信息,该扩展提供了一个 pg_stat_statements 视图。记录的统计信息包括计划和执行每个查询所花费的时间;命中、读取和写入的块数;以及更多信息。

您可以像查询任何 PostgreSQL 视图一样查询 pg_stat_statements 视图。完整视图包括超级用户查询,Timescale 使用这些查询在后台管理您的服务。要仅查看您的查询,请按当前用户进行筛选。

使用 PostgreSQL 客户端(例如 psql)连接到您的数据库,然后运行

SELECT * FROM pg_stat_statements WHERE pg_get_userbyid(userid) = current_user;

使用 pg_stat_statements,您可以查看性能统计信息,以帮助您监控和优化查询。

以下是一些示例场景供您尝试。

按平均执行时间识别 5 个运行时间最长的查询

SELECT calls,
mean_exec_time,
query
FROM pg_stat_statements
WHERE pg_get_userbyid(userid) = current_user
ORDER BY mean_exec_time DESC
LIMIT 5;

识别执行时间高度可变的查询

相对标准差,或表示为平均值百分比的标准差,衡量执行时间的可变程度。相对标准差越高,查询执行时间的可变性越大。

SELECT calls,
stddev_exec_time/mean_exec_time*100 AS rel_std_dev,
query
FROM pg_stat_statements
WHERE pg_get_userbyid(userid) = current_user
ORDER BY rel_std_dev DESC
LIMIT 5;

有关更多示例和详细说明,请参阅 关于使用 pg_stat_statements 识别性能瓶颈的博客文章

关键词

在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页