一、响应时间慢:
1、连接数不足导致连接排队,线程池连接数不走,jdbc连接数,DB连接数不足;
2、慢sql; (联合索引效率比单字段的索引效果好)
3、外部接口调用慢; - 是否能使用redis
4、GC停顿时间长:(代码不合理、jvm配置不合理:教大的对象,或对象在年轻代中满进入老年代,进行full GC 频繁
5、锁竞争
6、IO消耗高 – 一般为磁盘性能较差,打印大量日志
二、CPU消耗高:
1、死循环;
2、info日志打印代码行号,jvm触发爬栈,爬栈对cpu消耗较高;
3、序列化与反序列化;
4、大量的正则匹配;
5、业务查询数据使用同步锁
三、内存:
1、内存泄漏 jvm OutofMemory
2、从db中单次读取较大的数据
四、线程
1、线程泄漏:new线程时,要规定线程的大小,默认较大。推荐使用线程池管理线程;
2、线程上下切换频繁;
五、磁盘IO高
1、日志输出频繁,日志数据量较大
六、其他
1、k8s istio配置为2c,因报文太大导致流量打满
2、k8s可能存在资源争用,node节点资源消耗过高