常见的性能问题

一、响应时间慢:

  1. 连接数不足导致连接排队,线程池连接数不走,jdbc连接数,DB连接数不足;
  2. 慢sql; (联合索引效率比单字段的索引效果好)
  3. 外部接口调用慢; - 是否能使用redis
  4. GC停顿时间长:(代码不合理、jvm配置不合理:教大的对象,或对象在年轻代中满进入老年代,进行full GC 频繁
  5. 锁竞争
  6. IO消耗高 -- 一般为磁盘性能较差,打印大量日志

二、CPU消耗高:

  1. 死循环;
  2. info日志打印代码行号,jvm触发爬栈,爬栈对cpu消耗较高;
  3. 序列化与反序列化;
  4. 大量的正则匹配;

三、内存:

  1. 内存泄漏 jvm OutofMemory
  2. 从db中单次读取较大的数据

四、线程

  1. 线程泄漏:new线程时,要规定线程的大小,默认较大。推荐使用线程池管理线程;
  2. 线程上下切换频繁;

五、磁盘IO高

  1. 日志输出频繁,日志数据量较大

六、网络IO较高

你可能感兴趣的:(后端)