CPU套路篇:cpu性能優化的幾個思路???

性能優化方法論:
 

  1. 找到系統瓶頸後, 怎麼判斷優化是否有效,並且能提升多少性能??
  2. 如果有多個性能問題,應該先優化哪一個??
  3. 提升性能的方法並不是唯一的,當有多種方法可以選擇時,你會選擇哪一種?是不是總選那個最大程度提升性能的方法就行了呢??

 

 

 

性能評估指標三步走:

 

  1. 確定性能的量化指標
  2. 測試優化前的性能指標
  3. 測試優化後的性能指標

 

 

 

要避免性能測試工具干擾應用程序的性能

 

避免外部環境的變化影響性能指標的評估

 

性能問題不是單獨存在的,有可能同時存在多個性能問題,一般是遵循二八原則,多數性能問題只存在20%的代碼中,並不是所有的性能問題都值得優化

 

先優化系統資源的瓶頸

先優化有瓶頸導致的系統性能指標變化幅度最大的問題

 

 

 

應用程序優化:減少循環的層次   減少遞歸    減少動態分配  

                        應用程序優化也有很多種方法:

                        編譯器優化

        算法優化

        異步處理

        多線程代替多進程

        善用緩存

 

系統優化:充分利用cpu的緩存,加速緩存訪問

                 控制進程的CPU使用情況,減少進程間的相互影響

                 方法:

CPU綁定: 將進程綁定CPU,提高CPU緩存的命中率

CPU獨佔:

優先級調整

爲進程設置資源限制:

NUMA優化:

中斷負載均衡:開啓smp_affinity,使中斷自動負載均衡到其它CPU上

 

不要過早 在需求之前優化

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章