界面、接口、tomcat响应慢的问题排查过程

作为程序员,应该有一套排查问题的思路,下面以界面响应慢为出发点进行整理(后端开发程序员一枚,前端不过多描述)。

设计到的工具:jstack、jmap、jstat(这三个是jre自带的)、Windows资源监视器、Windows性能监视器(perfmon.exe)、wireshark、ProcessExplorer、mat(dump分析工具)、程序员计算器、PsExec64.exe(提权工具)等。

下面的问题排查的思维导图,可以摘取其中的一部分按顺序进行排查,需要注意以下一点:

  1. 使用jstack、jmap、jstat工具查看JVM状态时,一般都需要用PsExec64工具进行提权,提权方法:PsExec64.exe /s cmd(本次提权只在当前cmd窗口有效);
  2. 当CPU高的时候,首先应该排查是有是由于内存或者IO引起的CPU高,所以应该先查看内存与IO的状态;
  3. jstat -gcutil查看GC次数,如果需要导出GC前后的dump进行分析比较,可以使用jinfo动态设置JVM属性(jinfo -flag +HeapDumpBeforeFullGC ;jinfo -flag +HeapDumpAfterFullGC ;jinfo -flag HeapDumpPath=E:\heapdump ),不需要重启
  4. netstat导出的端口文件,如果端口使用过多,可以使用wireshark抓包查看,但是如果需要抓取本机调用的请求,需要执行命令:route add 本机ip mask 255.255.255.255 网关ip 

界面、接口、tomcat响应慢的问题排查过程_第1张图片

你可能感兴趣的:(java,问题排查)