爲了更好的去監控整個系統的性能,作好全流程的優化,主要分爲3類:後端
1.感知系統性能瀏覽器
這類指標主要從工程師的角度去衡量,如後端的:性能優化
響應時間
當前併發的用戶數
請求數
請求的錯誤率等等。
複製代碼
2.用戶體驗性能bash
用戶實際感受網頁是否加載延遲服務器
首屏時間
白屏時間
徹底加載時間之類
複製代碼
3.系統性能網絡
這類指標重點查看服務器:架構
服務器的cpu
內存
網絡帶寬
流量等等物理資源。
複製代碼
對於上述的每一類,衡量標準可能都不同,在數據展現方面,主要經過趨勢圖和彙總表格來展示,下面來對這3類指標分別細說:併發
感知系統性能dom
這類指標主要爲工程師設計,來衡量業務後端的處理速度,主要從如下幾個方面去衡量:高併發
響應時間是性能的主要kpi。
首先對每一個業務的總體(集羣)響應時間有個衡量:
95%的響應時間:將一段時間內全部請求的響應時間中取一個值,使95%的請求響應時間均小於或等於它,此值即爲95%請求覆蓋的響應時間。
90%的響應時間:將一段時間內全部請求的響應時間中取一個值,使90%的請求響應時間均小於或等於它,此值即爲90%請求覆蓋的響應時間。
50%的響應時間:將一段時間內全部請求的響應時間中取一個值,使50%的請求響應時間均小於或等於它,此值即爲50%請求覆蓋的響應時間。
另外爲了方便工程師的優化,對具體到每一個請求url都作了更精細化的統計,不光統計了上述的指標,還增長了:
最大響應時間:某請求的某段時間範圍內響應時間的最大值。
最小響應時間: 某請求的某段時間範圍內響應時間的最小值。
時間標準差:某請求某段時間範圍內的波動狀況,用來衡量某請求是否存在很大波動,標準差越大,波動越大。
2)請求數(按天或小時統計)
根據不一樣的時間維度去統計系統天天或每小時的請求數。
3)錯誤率
關於錯誤率的統計主要有如下幾種:
connection timeout:http請求中出現504的次數和比例。
error response:http請求中出現500的次數和比例。
錯誤網關數:http請求中出現502的次數和比例。
異常日誌統計:統計業務中出現得異常的數量和趨勢。
用戶體驗性能
這類指標從用戶的角度出發,經過模擬用戶請求或對真實用戶抽樣,來監控用戶對網站的實際體驗效果,主要利用js來收集不一樣瀏覽器下訪問網站的加載速度和性能;對於一次完整用戶請求來講,http請求能夠劃分爲以下幾個階段:
DNS:域名解析階段,一般在幾毫秒左右
TCP:創建網絡鏈接
Requesting:發送請求
WebServer處理
Transferring:傳輸數據
Parsing:瀏覽器解析。幾個重要的時間點爲:
a. 首屏時間 客戶端第一屏資源加載完畢
b. domready時間 DOM解析完畢,能夠進行動態修改
c. load時間 全部資源加載完畢
對於上述的幾個階段,設立了多種時間參數(每一個參數又有 90% 和 50% 兩種指標)來衡量,具體以下:
查找域名:開始查找域名到查找結束,計算公式爲(domainLookupEnd - domainLookupStart)
創建鏈接:開始發出鏈接請求到鏈接成功,計算公式爲(connectEnd - connectStart)
請求文檔:開始請求文檔到開始接收文檔,計算公式爲(responseStart - requestStart)
接收文檔:開始接收文檔到文檔接收完成,計算公式爲(responseEnd - responseStart)
domready:開始解析文檔到 DOMContentLoaded
事件被觸發,計算公式爲(domContentLoadedEventStart - domLoading)
load事件持續:load 事件被觸發到 load 事件完成,計算公式爲(loadEventEnd - loadEventStart)
徹底加載:開始解析文檔到文檔徹底加載,計算公式爲(domComplete - domLoading)
首屏加載:開始解析文檔到首屏加載完畢,計算公式爲(firstscreenready - domLoading)
徹底加載【全過程】:這次瀏覽最開始時刻到徹底加載完畢,計算公式爲(domComplete - navigationStart)
首屏加載【全過程】:這次瀏覽最開始時刻到首屏加載完畢,計算公式爲(firstscreenready - navigationStart)
其中不一樣的指標對於用戶體驗的影響權重不一樣,對於用戶來講白屏時間(瀏覽最開始時刻到首屏加載前)和首屏時間是最重要的。
系統性能
這類指標主要監測目前服務器的
cpu
內存
硬盤io率
網絡帶寬
流量等等物理資源的使用狀況
這類指標比較常見,就不細說了,舉幾個例子。
1.cpu使用率監控圖
2.服務的硬盤io監控圖
3.服務的網絡io監控圖
總結
監控->分析->優化,號稱是性能優化的三部曲,爲了更容易地找到性能優化的關鍵點,創建一個統一的精細化的性能監控平臺,作到數據驅動型的性能優化,是公司的長遠目標,也是值得公司投入的一個方向,性能優化,從監控開始,只有監控的性能指標體系創建好了,才能更好地去作分析和優化!
以上就是高併發網站優化體系的總結,如下是最新阿里P8架構師談架構設計系列。
爲何某些人會一直比你優秀,是由於他自己就很優秀還一直在持續努力變得更優秀,而你是否是還在知足於現狀心裏在竊喜! 合理利用本身每一分每一秒的時間來學習提高本身,不要再用"沒有時間「來掩飾本身思想上的懶惰!趁年輕,使勁拼,給將來的本身一個交代!
歡迎留言討論,加關注,持續更新!
To-陌霖Java架構
分享互聯網最新文章 關注互聯網最新發展
複製代碼