性能分析之分析决策树1

2019-12-10 11:35:33 浏览数 (2)

背景

初学者对性能分析是个《横看成岭侧成峰,远近高低各不同。不识庐山真面目,只缘身在此山中。》那么应该怎么学习才能建立起自己的知识体系,才能做到《千山同一月,万户尽皆春。千江有水千江月,万里无云万里天》今天咱们谈谈7DGroup创始人高楼老师的性能分析之决策树分析法二。

分析树图一

第一层是业务指标,

  • 响应时间
  • TPS
  • 错误率

第二层是操作系统

  • CPU
  • IO
  • MEM
  • NET

分析方法

注意:java应用

  • 使用TOP命令找到谁在消耗CPU比较高的进程,例如pid = 1232
  • 使用top -p 1232 单独监控该进程
  • 输入大写的H列出当前进程下的所有线程
  • 查看消耗CPU比较高的线程,并看线程编号,例如 12399
  • 使用jstack 1232>pagainfo.dump 获取当前进程下的dump线程信息
  • 将第四步获取的线程编号12399转换成16进制306f (printf "%xn" 12399)
  • 根据306f在第5步获取的栈信息中查找tid=0x306的线程
  • 定位代码位置(根据打印出来的堆栈信息查看代码所在位置)

0 人点赞