系統上線必會經歷測試階段,功能測試我們可以按照產品的設計原型去執行一條條測試用例來覆蓋產品功能點。但是在功能測試之外,如果乙個使用者介面層服務,我們還需要知道服務的效能指標以了解並評估這個服務在實際的生產環境中可以應對多大壓力,我們可以根據這個資料情況根據不用的場景時間去對應的增加機器節點或進行重構系統。
我們進行效能測試的目的是想真實的了解服務的效能,這個測試可能是乙個單機的壓力測試,可能服務鏈路比較簡單,單體服務就支撐了整個訪問請求。也可以是一套全鏈路的效能壓力測試,例如從使用者到下單到購買一件商品,到底是哪個節點效能較差,其中可能涉及很長的一套分布式微服務架構。例如**最先實施的全鏈路壓測就是為了達到這樣的目的,才有了後來歷屆雙十一的平穩進行。
我們怎麼才能增加服務的效能呢?增加伺服器的數量就可以增大伺服器的效能嗎?作為乙個架構師,我們該如何解釋給老闆讓他同意我們的架構優化方案呢?效能好了使用者體驗就一定好嗎? 用新的技術就一定能優化架構嗎? …
但是當併發數超過一定限制之後,會無限制的占用系統資源,導致響應時間無限大,吞吐量為0。這時候系統就要崩潰了。這時候又有乙個重要的指標,就是效能計數器。
效能測試是乙個總稱,具體細分可以分為效能測試,負載測試,壓力測試和穩定性測試。
響應時間和tps這兩條曲線是對應的。
這是乙個系統效能測試的運**況,我們可以拿做參考,作為乙個系統的架構師絕不能讓你的系統一直在c點執行,一直在b點左右是最理想的情況,但是如果超過c點你的系統很可能就要崩潰了。那麼到底是在b點上還是下呢,選擇更安全還是更經濟,這就取決你trade-off了。
了解了效能測試的一些操作,我們可以得到系統優化前後的一些資料對比,這時候去和你的leader去匯報業績或是要資源,一切就顯得那麼順理成章了。我們可以向如上圖一樣根據資料繪製出優化前後的對比圖,讓你的工作更有分量。
壓力測試指標。
效能優化前後資料對比。
這樣的圖我們可以用excel等等都能很簡單的自動繪製。有了直觀的證明,一切都不言而喻。
我們優化乙個系統的效能一切都需要根據原則。我覺得兩點很重要,
效能測試,獲得效能指標
指標分析,發現效能與資源瓶頸點
架構與**分析,尋找效能與資源瓶頸的關鍵所在
架構與**優化,優化關鍵技術點,平衡資源利用
效能測試,進行效能優化閉環
-集群網際網路技術的發展路徑就是,更多的使用者訪問需要消耗更多的計算資源,單一的伺服器計算資源是有極限的,所以需要增加更多的伺服器。集群的目標只有乙個,就是如何使用多台伺服器對使用者而言看起來像一台伺服器。
最後,值得強調一點,軟體的效能優化,我們不要一上來就想多執行緒、快取等,這會限制我們的技術發展,很多時候軟體效能不好,僅僅是因為你的**太爛了。寫清晰的**,保證架構的整潔,這是很重要的。
原創 效能測試篇 網路效能測試指令碼優化
本節所要用到netperf工具對作業系統進行測試 shell指令碼 bin sh 5網路介面效能 測試網路傳輸速率 網路吞吐率 網路響應時間等,包括 tcp ucp 流吞吐速率等 echo hello 標題 test title 網路介面效能 標識96 預期結果1 ecpect result1 結果...
效能優化篇
一 在使用gallery控制項時,如果載入的過多,過大,就很容易出現outofmemoryerror異常,就是記憶體溢位。這是因為android預設分配的記憶體只有幾m,而載入的如果是jpg之類的壓縮格式,在記憶體中展開時就會占用大量的空間,也就容易記憶體溢位。這時可以用下面的方法解決 view p...
效能優化篇
效能優化 1.首先說出效能優化的點 2.在說到ssr的時候以及節流防抖的時候 ssr為什麼能減少白屏事件 目前前後端的分離的前端專案需要先載入靜態資源,再非同步獲取資料,最後渲染頁面,在這個過程中的前兩部頁面都是沒有資料的,影響了首屏的渲染速度,也就影響了使用者的體驗 nuxt.js的概念 節流防抖...