性能优化方法论:

  1. 找到系统瓶颈后, 怎么判断优化是否有效,并且能提升多少性能??
  2. 如果有多个性能问题,应该先优化哪一个??
  3. 提升性能的方法并不是唯一的,当有多种方法可以选择时,你会选择哪一种?是不是总选那个最大程度提升性能的方法就行了呢??

性能评估指标三步走:

  1. 确定性能的量化指标
  2. 测试优化前的性能指标
  3. 测试优化后的性能指标

要避免性能测试工具干扰应用程序的性能

避免外部环境的变化影响性能指标的评估

性能问题不是单独存在的,有可能同时存在多个性能问题,一般是遵循二八原则,多数性能问题只存在20%的代码中,并不是所有的性能问题都值得优化

先优化系统资源的瓶颈

先优化有瓶颈导致的系统性能指标变化幅度最大的问题

应用程序优化:减少循环的层次   减少递归    减少动态分配

应用程序优化也有很多种方法:

编译器优化

算法优化

异步处理

多线程代替多进程

善用缓存

系统优化:充分利用cpu的缓存,加速缓存访问

控制进程的CPU使用情况,减少进程间的相互影响

方法:

CPU绑定: 将进程绑定CPU,提高CPU缓存的命中率

CPU独占:

优先级调整

为进程设置资源限制:

NUMA优化:

中断负载均衡:开启smp_affinity,使中断自动负载均衡到其它CPU上

不要过早 在需求之前优化

CPU套路篇:cpu性能优化的几个思路???相关推荐

  1. Linux性能优化实战: 套路篇-分析性能问题的一般步骤(55)

    一.上节回顾 上一节,我们一起学习了,应用程序监控的基本思路,先简单回顾一下.应用程序的监控,可以分为指标监控和日志监控两大块. 指标监控,主要是对一定时间段内的性能指标进行测量,然后再通过时间序列的 ...

  2. 性能优化系列第一篇——数据库性能优化

    本文章转载的Trinea大神的文章,文章原地址 http://www.trinea.cn/android/database-performance/ 性能优化之数据库优化 本文为性能优化的第一篇--数 ...

  3. 网络性能优化的几个思路

    本文是通过学习倪朋飞老师的<Linux性能优化实战> :网络性能优化的几个思路? 网络性能优化的几个思路 确定优化目标 网络性能工具 网络性能优化 应用程序 套接字 网络性能优化 传输层 ...

  4. 12 | 套路篇:CPU 性能优化的几个思路

    上一节我们一起回顾了常见的 CPU 性能指标,梳理了核心的 CPU 性能观测工具,最后还总结了快速分 析 CPU 性能问题的思路.虽然 CPU 的性能指标很多,相应的性能分析工具也很多,但理解了各种指 ...

  5. 31 | 套路篇:磁盘 I/O 性能优化的几个思路

    上一节,我们一起回顾了常见的文件系统和磁盘 I/O 性能指标,梳理了核心的 I/O 性能观测工具,最后还总结了快速分析 I/O 性能问题的思路. 虽然 I/O 的性能指标很多,相应的性能分析工具也有好 ...

  6. 44 | 套路篇:网络性能优化的几个思路(下)

    在优化网络的性能时,你可以结合 Linux 系统的网络协议栈和网络收发流程,然后从应用程序.套接字.传输层.网络层再到链路层等每个层次,进行逐层优化.上一期我们主要学习了应用程序和套接字的优化思路,比 ...

  7. 43 | 套路篇:网络性能优化的几个思路(上)

    上一节,我们了解了 NAT(网络地址转换)的原理,学会了如何排查 NAT 带来的性能问题,最后还总结了 NAT 性能优化的基本思路.我先带你简单回顾一下. NAT 基于 Linux 内核的连接跟踪机制 ...

  8. cpu out of order, 性能优化

    这是以前研究生的时候写的一篇文章 今天看了一篇文章关于cpu乱序执行的讲解,主题思想是cpu能并行的处理指令,这里的并行不是多核并行的处理,而是在某种情况下,上下2条指令可以被一个核一起送行,还有可能 ...

  9. CPU性能优化的几个思路

    性能优化方法论 在优化前要考虑的三个问题 首先,判断性能优化是不是有效?优化后,能提升多少性能? 第二,性能问题通常都不是独立的,如果有多个性能问题同时发生,先优化哪一个? 第三,提升性能的方法并不是 ...

最新文章

  1. Supervisor使用详解
  2. java中Arrays.sort()实现原理
  3. CTFshow 反序列化 web271
  4. 如何优雅地在React项目中使用Redux
  5. 线下讲座 | 机器翻译大牛Kevin Knight: Translation and Ciphers
  6. Using libcurl in VC++
  7. Google Pixel 2(XL)录像画质提升背后
  8. kafka消费命令简化(alias中传入参数)
  9. request.cookie[name]的到的过期时间是{0001-1-1 0:00:00}
  10. 信息学奥赛一本通C++语言——1003:对齐输出
  11. 平年用c语言的计算方式,C语言平年闰年问题
  12. jQuery文档处理程序
  13. 基于PHP的网上书店系统(前后台)
  14. Java女生后来_那些主动的女生后来怎么样了?
  15. printf 打印结构体成员函数出错原因分析
  16. mySQL 2502 2503错误
  17. 细思极恐-你真的会写java吗?
  18. airpodspro窃听模式_AirPods怎么开启助听模式 实时收听设置方法介绍
  19. 做ARM的一些前后经历——转载的
  20. 手把手教你选Google Play ASO关键词(附实用工具)

热门文章

  1. php正态分布,如何在PHP中生成累积正态分布
  2. 测试入职第一天,如何展开测试工作?
  3. Kriging代理模型类毕业论文文献包含哪些?
  4. 寻找雷劈数c语言,求雷劈数的来历。
  5. 【分布鲁棒】多源动态最优潮流的分布鲁棒优化方法
  6. k米评分容易得高分的歌_福州这家全新亮相的K歌王国,“舞台灯”都给你搭好了,简直酷到没朋友!...
  7. 10,数据类型 ,复合类型 ,array ,map , struct
  8. SparkConf的练习题
  9. w5100 资料整理
  10. python小记(3) | 爬取微博页面存储为html到本地提取关键词存入excel