系统性能排查通法

系统性能排查通法

针对 CPU

先使用 top 找到最占CPU资源的进程 火焰图查看最耗时的操作,并优化这个耗时的操作逻辑

频繁的系统调用

多线程减少执行时间 也有可能是访问量大导致 CPU 的负担加重,可以考虑使用 LVS 做服务的负载均衡

问题也可能出现在慢查询,全表扫描进行逐一比较判断的时候会消耗 CPU 资源

针对 内存

使用 top 来进行查看 多出现于一些频繁分配内存的场景,有 GC 的语言会导致垃圾回收和扫描的时间增加,可能会间接影响 CPU

可使用惰性分配的策略,时间换空间的策略,对象复用的策略来进行优化

针对 磁盘IO

多出现于数据库层面,慢查询日志是定位语句的基本方法

不要乐观估计本地请求日志的写入速度,在大流量场景下写日志会触发多次读IO从而拖慢整个IO的速度

写操作时间长可以增加数据库的写缓存大小,让更多数据先写入内存,再刷入磁盘

懒写:自定义写的频率,在内存中达到一定数量之后再隔几秒写入磁盘

硬盘调优升级