想请教一下大家,pg数据库有类似oracle的awr报告的东西吗?因为生产比较特殊,出问题了,肯定是先恢复,等恢复完,好多东西都查不到了,有没有什么工具,出问题时候,可以拍个快照什么的,把情况都记录下来,恢复生产后,再拿来分析
本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。 点击这里欢迎加入感兴趣的技术领域群。
有的,就是使用perf跟踪PostgreSQL 前提是: 要输出完备的跟踪信息,如符号表,call stack traces, 汇编指令。必须在编译PostgreSQL时设置相应的编译开关。 其次建议Linux内核编译时加上 CONFIG_KALLSYMS=y CONFIG_FRAME_POINTER=y 编译perf时需要支持libunwind, 并加上 如果是yum安装的软件,可以安装对应的debuginfo包。 常用的跟踪手段 1. benchmark 首先,需要定一个目标
实时跟踪 pgbench压测的同时,实时观测。
跟踪事件计数(指定事件)指定命令进行跟踪,或者指定PID进行跟踪。
采样跟踪,这个是用得最多的,先采样,后分析报告。
生成报告,使用perf record收集了统计信息到perf.data,接下来就对perf.data进行分析,输出报告。
生成火焰图
git clone https://github.com/brendangregg/FlameGraph
or download it from github
mv perf.data FlameGraph/
cd FlameGraph
perf script | ./stackcollapse-perf.pl > out.perf-folded
cat out.perf-folded | ./flamegraph.pl > perf-kernel.svg
kernel source 动态跟踪
PostgreSQL source 动态跟踪
参考文献:《Linux 性能诊断 perf使用指南》
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。