相关概念
两个系统性能指标
Throughput:吞吐量,每秒可以处理的请求数、任务数;一般对应着qps
Latency:延迟,每个请求或者任务执行的时间
两个概念
IO密集型:磁盘读取,web服务等任务,主要需要IO的读取,利用CPU的效率较低,大量时间花费在IO上
计算密集型:主要消耗大量CPU资源,不停进行计算。由于依靠CPU性能,一直占用CPU进行计算
对于IO密集型,可以多创建线程,可以多运行,但是每次运行时间片不要太长。
对于计算密集型,减少线程使用,每次运行时间片尽量长。
基本原则
两大原则
- 提高CPU利用率:减少进程阻塞、等待的时间,单位时间内执行更多的指令
- 空间换时间
优化步骤
- 埋点:在需要优化的地方,进行埋点,指导哪个地方耗时最长
- 思考能应用上的策略:不是所有耗时长的都可以优化;分析代码的逻辑,思考能否提高CPU利用率或者通过空间换时间
- 进行性能优化
- 预计优化后可以达到的性能效果:预计效果与实际效果不一致,思考那些地方疏忽了
- 观察优化后的效果
- 思考总结
三个重要效果:
- 需要达到的效果
- 预期达到的效果
- 实际达到的效果
性能优化策略
提高CPU使用率
- 多线程同步
- nio与异步
- 批处理方法
- MQ消息
- JMV调优
空间换时间
- 本地缓存
- 分布式缓存
- 数据库索引
- 数据预处理
- 离线数据处理
逻辑优化
- 代码优化
- sql优化
- 服务拆分
来源:博客园
作者:RayFong
链接:https://www.cnblogs.com/RayFong/p/11427404.html