弄清线上的配置:linux版本,cpu核数,内存大小,jdk版本。以免服务器配置不同导致出现问题。

1。错误是什么时候开始的?现在是否已经恢复?

2。是否是个别用户问题,还是所有用户问题?是单台服务器的问题还是所有服务器的问题?

3。接口的请求量是否异常?

4。接口的响应时间是否异常?如果响应时间异常,是否能定位到具体哪个环节异常,此时需要分步耗时日志?

5。四层,7层负载是否异常?如:nginx请求量是否异常?

6。tomcat线程池是否异常?

7。db是否异常?是否有主从延迟?

8。机器CPU、内存、磁盘IO、网络是否异常?

    top 查看进程活动状态以及一些系统状况 

    vmstat 查看系统状态、硬件和系统信息等 

    iostat 查看CPU 负载,硬盘状况 

    sar 综合工具,查看系统状况 

    mpstat 查看多处理器状况 

    netstat 查看网络状况 

    iptraf 实时网络状况监测 

    tcpdump 抓取网络数据包,详细分析 

    tcptrace 数据包分析工具 

    netperf 网络带宽工具 

    dstat 综合工具,综合了 vmstat, iostat, ifstat, netstat 等多个信息

    lsof

    netstat -anpl|fgrep 

    netstat -ntulp|grep java

    du -h --max-depth=1

9。jvm进程,内存,gc是否异常?

    常用的命令有:jstack、jmap、jstat

10。消息队列是否拥堵?

11。缓存,redis是否异常?包括缓存命中率等。