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

Tags: linux  系统设计 

目录

说明

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

持续更新…

延迟热图,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

系统设计

  1. 各大云厂商的 API 设计风格
  2. Google 是如何实践 RESTful API 设计的?
  3. Netflix 的异地多活设计: Active-Active for Multi-Regional Resiliency
  4. Facebook 的缓存系统实践经验《Scaling Memcache at Facebook》
  5. 多机数据系统的正确性与一致性
  6. 《大型网站技术架构: 核心原理与案例分析》阅读摘录
  7. 《分布式金融架构课》阅读笔记2: 线性一致的分布式数据系统的实现过程
  8. 《分布式金融架构课》阅读笔记1: 单机&多机并发/多副本读写正确性和一致性
  9. 《消息队列高手课》阅读笔记: Rabbit/Rocket/Kafka/模型/消息事务/保序等
  10. 《消息队列高手课》阅读笔记: Rabbit/Rocket/Kafka/模型/消息事务/保序等
  11. 《Redis核心技术与实践》阅读笔记: 数据类型/存储开销/Rehash/案例等
  12. 《Redis核心技术与实践》阅读笔记: 数据类型/存储开销/Rehash/案例等
  13. 《高并发系统设计40问》阅读笔记: 数据库/缓存/消息队列/分布式服务
  14. 《高并发系统设计40问》阅读笔记: 数据库/缓存/消息队列/分布式服务
  15. 《MySQL实战45讲》阅读笔记: 索引类型/数据可靠性/事务/间隙锁/临时表等
  16. 系统性能分析方法论: 统计图谱工具
  17. 张磊《深入剖析Kubernetes》专栏的阅读笔记
  18. 代理服务软件haproxy、nginx、envoy对比,以及开源的API网关项目对比
  19. 蓝绿部署、金丝雀发布(灰度发布)、A/B测试的准确定义
  20. 阿里巴巴的应用限流和服务降级是怎样实现的?|如何打造平台稳定能力
  21. 陈皓《左耳听风》专栏的阅读笔记(持续更新)
  22. 好雨云帮,一款不错的国产开源PaaS
  23. 怎样为软件的不同版本命名?
  24. 怎样选择开源项目的license?
  25. Glusterfs的架构
  26. 怎样设计一个企业级的PaaS平台?
  27. 几种常见的LDAP系统
  28. DNS SRV介绍(一种用DNS做服务发现的方法)
  29. DNS,DNS-Domain Name System
  30. 思科的网络设备
  31. 虚拟化技术汇总
  32. 认证与授权系统的汇总
  33. 高可用实现方法汇总
  34. 编译器汇总
  35. Linux系统的优化方法
  36. CentOS7的一些变化
  37. 分布式系统的一些知识
  38. 计算机编程语言的特性汇总
  39. 网络通信的一些基础知识
  40. PCIE总线的一些知识
  41. 操作系统的API
  42. 网卡的一些知识
  43. Linux系统的构建过程
  44. 数据结构与算法
  45. CPU的相关知识

linux

  1. Linux 发行版 Ubuntu 系统的基本使用
  2. bpftrace 执行失败 Operation not permitted,不是因为 kernel lockdown!
  3. 在用户态观测 Linux 内核函数的调用情况(调用次数、传入参数、运行时长等)
  4. 系统性能分析方法论: 统计图谱工具
  5. Linux关闭swap失败,swapoff failed: cannot allocate memory
  6. Linux内核功能eBPF入门学习(二): BCC中的eBPF应用与bpftrace等
  7. Linux内核功能eBPF入门学习(一): BPF、eBPF、BCC等基本概念
  8. CentOS7/6内核升级的简单方法: 借助ELRepo,用yum命令更新内核
  9. Linux FUSE(用户态文件系统)的使用: 用libfuse创建FUSE文件系统
  10. 火焰图生成工具nginx-systemtap-toolkit使用时遇到的问题
  11. Linux内核参数用途记录
  12. Linux的nftables的使用
  13. Linux 网络观察调试: 查看连接跟踪表、报文跟踪等
  14. 怎样获取Linux kernel相关的知识?Linux内核文档汇总
  15. linux中疑难问题的调查方法
  16. 服务器存在较多的FIN_WAIT1和TIME_WAIT状态的连接
  17. linux的tcp连接
  18. linux的traffic control
  19. DNS的benchmark工具
  20. Linux的Network Tunnel技术
  21. Linux的网络namespace
  22. Linux 的物理网卡与虚拟网络设备
  23. 发包工具、改包工具
  24. Linux内核调试、修改
  25. 常见网络报文的格式

推荐阅读

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

友情链接:  李佶澳的博客  系统软件  程序语言  运营经验  关注方向  水库文集  网文收藏  网络课程  发现知识星球  百度搜索 谷歌搜索