弄清线上的配置: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是否异常?包括缓存命中率等。