方法论

匿名 (未验证) 提交于 2019-12-02 23:56:01

相关概念

两个系统性能指标

Throughput:吞吐量,每秒可以处理的请求数、任务数;一般对应着qps
Latency:延迟,每个请求或者任务执行的时间

两个概念

IO密集型:磁盘读取,web服务等任务,主要需要IO的读取,利用CPU的效率较低,大量时间花费在IO上
计算密集型:主要消耗大量CPU资源,不停进行计算。由于依靠CPU性能,一直占用CPU进行计算
对于IO密集型,可以多创建线程,可以多运行,但是每次运行时间片不要太长。
对于计算密集型,减少线程使用,每次运行时间片尽量长。

基本原则

两大原则

  • 提高CPU利用率:减少进程阻塞、等待的时间,单位时间内执行更多的指令
  • 空间换时间

优化步骤

  1. 埋点:在需要优化的地方,进行埋点,指导哪个地方耗时最长
  2. 思考能应用上的策略:不是所有耗时长的都可以优化;分析代码的逻辑,思考能否提高CPU利用率或者通过空间换时间
  3. 进行性能优化
  4. 预计优化后可以达到的性能效果:预计效果与实际效果不一致,思考那些地方疏忽了
  5. 观察优化后的效果
  6. 思考总结
三个重要效果:
  • 需要达到的效果
  • 预期达到的效果
  • 实际达到的效果

性能优化策略

提高CPU使用率

  • 多线程同步
  • nio与异步
  • 批处理方法
  • MQ消息
  • JMV调优

空间换时间

  • 本地缓存
  • 分布式缓存
  • 数据库索引
  • 数据预处理
  • 离线数据处理

逻辑优化

  • 代码优化
  • sql优化
  • 服务拆分
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!