K1 Power Linux上开源数据库PostgreSQL用火焰图性能分析工具的实践

正在加载中...

试读已结束

继续阅读请 1 金币购买后下载

立即下载

资料简介:

Power服务器在过去20多年一直是数据中心核心数据库和关键业务的主力军。浪潮K1 Power服务器主要有两条产品线:

1.       K系列服务器,涵盖1路、2路、4路、8路、16路(低、中、高)全系列机型,可以运行System i,AIX, K-UX, Linux多种国产操作系统,以“三高一强”著称,具备极致高安全、高可靠、高性能,能为支撑企业关键业务系统核心数据库提供数据强一致性保障

2.       FP系列服务器,搭载OpenPower处理器,可以运行K-UX, Linux和多种国产操作系统,是各类国产和开源数据库的优选平台

 

本文介绍K1 Power Linux结合开源PostgreSQL数据库环境,如何利用直观的火焰图功能进行性能瓶颈分析。

我们在日常数据中心运维或者新产品开发迭代完成进行性能测试看是否具备发布条件时,经常会遇到各种各样的性能瓶颈,虽然查找和分析性能瓶颈有成熟的方法论可循,但如何从抓取的大量性能数据中,准确定位到性能瓶颈往往费时费力,速度快慢有时全仰仗经验丰富的技术专家。

Brendan D. Gregg 开发了火焰图(flame graph)这款性能分析的利器,通过它可以快速定位性能瓶颈点。整个火焰图形看起来就像一团跳动的火焰,燃烧在火苗尖部的就是 CPU 正在执行的操作,纵轴表示调用栈的深度,横轴表示消耗的时间。调用栈在横向会按照字母排序,同名调用栈会做合并,某个调用的格子宽度越大越说明其可能是瓶颈。在性能分析时,要重点关注比较宽大的火苗,特别留意类似平顶山的火苗。要生成火焰图,必须要有一个顺手的 Tracer 工具,通常Linux系统下用perf、systemtap工具。火焰图类型有 On-CPU,Off-CPU,还有 Memory,Hot/Cold,Differential 等,详见链接中说明:https://www.brendangregg.com/flamegraphs.html

        本文实践采用perf record抓取PostgreSQL数据库CPU开销,然后用FlameGraph火焰图中的stackcollapse-perf.pl分析调用栈,再采用flamegraph.pl生成火焰图用于性能分析,具体流程为:

l  在Power平台Linux系统上,安装perf性能采集工具和FlameGraph火焰图工具

l  启动并持续运行需要进行性能瓶颈分析的应用

l  在应用运行负载高峰时段,用perf record工具采集perf.data性能数据

l  用perfscript工具从采集的perf.data性能数据提取折叠后的应用调用栈数据

l  通过FlameGraph火焰图中堆栈拆分工具stackcollapse-perf.pl处理折叠后的应用调用栈数据

l  用FlameGraph火焰图生成工具flamegraph.pl,生成应用性能火焰图svg文件

l  从浏览器中打开火焰图svg文件,分析应用性能瓶颈

详见附件!

2022-11-22
浏览666
下载1

已下载用户的评价7.09分

您还未下载该资料,不能发表评价;
查看我的 待评价资源
本资料还没有评价。

贡献者

lisongqing软件架构设计师,IPS
数据库爱好者,曾专注于商业数据库,现在拥抱开源和国产数据库
X社区推广