視頻系統--直接均值架構

 


概述

對一個軟件的運行佔用的資源進行統計,可得到資源佔用的"均值"和"峯值",從性能的角度評估軟件的框架,自認爲可分三個層次:

  1. 峯值架構:按這種架構設計的軟件需要按資源使用的峯值配置硬件,一些雲服務商(如阿里雲)評估的cpu均值與峯值比爲2:10,基於此數據,雲服務器商可提供更高的突發性能(這也是阿里雲服務器測試時感覺比其他雲服務器商快的原因);
  2. 總線式峯值架構:如選用高於軟件資源消耗均值但低於軟件資源消耗峯值的硬件,在軟件峯值時不僅會卡頓影響體驗且會丟失數據,影響最終結果;"總線式峯值架構"是把數據採集(數據採集的資源消耗肯定是低於均值的)和處理分開,把採到的數據進行緩存再分發給各處理模塊處理(處理模塊排隊完成);
  3. 均值架構:目標是可選用性能略大於軟件資源消耗的均值的硬件,實現硬件資源的利用最大化;"總線式峯值架構"相對"峯值架構"會增加業務流程,增大儲存資源消耗,而"均值架構"相對"峯值架構"不會增加業務處理流程,同時可合併同類業務的排列順序,讓數據更好地類數組化,增加cpu或儲存設備cache的命中率,進一步提升性能,降低軟件資源消耗的均值;

直接均值架構

"視頻系統"採用"均值架構",同時"視頻系統"是單進程設計,數據在多模塊之間傳遞採用引用方式完成,所有操作都能直接完成;
合理的算法讓數據的移除和插入使用位於鏈表的頭和尾,保持數據的數組特性,提高cpu緩存命中;
合理的業務分解讓數據快速被過濾,大大減少堆積數據量,據統計視頻中可能感興趣的數據不足10%;
採用"直接均值架構"的"視頻系統"的硬件利用率可達90%,即cpu均值達90%不會影響使用體驗;

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