充分压榨CPU
利用多核
善于利用多核心的优势,如果有4个核心,而你只用到了2个核心,还有2个核心白白浪费了。
CPU占用率
一般来说,单个核心的占用率达到80%才算合格,不用全部占满,因为多多少少要留点余地。例如,服务器CPU核心数是4,满载是400%,那CPU占用率达到320%才算合格。
使用非阻塞IO
如果CPU一直有大量空闲,那就要检查瓶颈是否在IO。使用非阻塞IO代替阻塞IO。
锁优化
能不使用锁就不使用锁,能少使用锁就少使用锁,优先使用轻量级锁。
优化算法
如果代码中有一些计算的逻辑,可以评估下算法的优劣,想办法改进,从而降低CPU占用率。
使用缓存
善于利用缓存,减少磁盘IO。
垃圾回收相关
- 能复用的对象就不要重复创建
- 开启逃逸分析
- 使用低延迟、高吞吐量垃圾回收器
- JVM参数调优等
网络带宽瓶颈
有时候程序和服务器都没到瓶颈,结果带宽跑满了,这种情况也是有可能的。可以监控上下行带宽。
以上是个人浅见,勿喷。