plprofiler
剖析 PL/pgSQL 函数
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
plprofiler | 4.2.5 | LANG | Artistic-1.0 | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 3070 | plprofiler | 否 | 是 | 是 | 是 | 否 | 是 | - |
| 相关扩展 | plpgsql_check pldbgapi pglinter pg_stat_plans pg_stat_statements auto_explain pg_store_plans pg_show_plans hypopg index_advisor |
|---|
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PGDG | 4.2.5 | 1817161514 | plprofiler | - |
| RPM | PGDG | 4.2.5 | 1817161514 | plprofiler_$v | - |
| DEB | PGDG | 4.2.5 | 1817161514 | postgresql-$v-plprofiler | - |
安装
您可以直接安装 plprofiler 扩展包的预置二进制包,首先确保 PGDG 仓库已经添加并启用:
BASH
使用 pig 或者是 apt/yum/dnf 安装扩展:
安装
BASH
pig
BASH
dnf
BASH
apt
BASH
预加载配置:
BASH
创建扩展:
SQL
用法
plprofiler 是一个 PL/pgSQL 函数性能分析工具,能够识别性能瓶颈并生成交互式火焰图报告。
SQL
配置
在 postgresql.conf 中添加:
命令行工具
plprofiler 命令行工具用于控制性能分析并生成报告:
BASH
SQL 接口
SQL
报告输出
生成的 HTML 报告包括:
- 交互式火焰图:展示 PL/pgSQL 代码中花费的时钟时间
- 每函数统计信息:包含自身时间(总时间减去子函数时间)
- 排名靠前的函数:按耗时排序(默认:前 10 个)
- 自包含的 HTML,无需外部依赖
分析方法
- 直接分析:在收集数据时运行特定 SQL
- 定时采集:基于时间间隔的统计收集
- 按用户分析:通过
ALTER USER为特定数据库用户启用性能分析 - 生产监控:在生产系统上进行低开销的性能分析