系统性能分析方法论:统计图谱工具

作者: 李佶澳   转载保留:原文地址   更新时间:2019-03-01 18:27:00 +0800

说明

一些经过精心设计的图片可以将不易读的数据以非常直观的方式呈现出来,揭示数据中蕴含的重要信息。

持续更新…

延迟热图,Latency Heat Maps

每个时刻都有一张分布直方图,将它们从二维平面上揭起竖立,然后按时间顺序挤压到一起成为一个三维物体,从上方看到的这个三维物体的平面图就是延迟热图,Latency Heat Maps中有详细介绍。

延迟热图,Latency Heat Maps

每一列都是一张直方图的,颜色越深表示方柱越高,竖坐标是直方图的统计的数值范围,横坐标是时间轴。

Brendan Gregg在进行延迟分析的时候发明该图,这个图片很好展示了数值分布随时间变换的情况。

火焰图,Flame Graphs

通过定时采样的方式探测到每个函数的运行时间,然后将这些函数按照调用关系堆放,被调用的位于上方,位于同一层的函数按照它们运行时间(在采样数据中的比例)分配占用的宽度,得到图片就是火焰图Flame Graphs

火焰图,Flame Graphs

哪个函数是系统瓶颈在火焰图中一目了然:位于平顶位置函数。理想的火焰图中应当全部是尖峰,表示每一个函数都很快运行结束,如果出现平顶,说明平顶的函数运行时间较长,需要被优化,平顶越高优化后效果越显著。

火焰图相关笔记:

  1. Web开发平台OpenResty(三):火焰图性能分析

  2. 火焰图生成工具nginx-systemtap-toolkit使用时遇到的问题

参考

  1. Latency Heat Maps
  2. Flame Graphs

本文原创首发于网站:www.lijiaocn.com

QQ交流群

区块链实践互助QQ群:576555864

Kubernetes实践互助QQ群:947371129

Prometheus实践互助QQ群:952461804

Kong/Envoy实践互助QQ群:952503851

Ansible实践互助QQ群:955105412

Copyright @2011-2019 All rights reserved. 转载请添加原文连接,合作请加微信lijiaocn或者发送邮件: [email protected],备注网站合作 友情链接: lijiaocn github.com