每天資訊阿里P8架構師談:如何搭建億級併發系統的效能指標體系

菜單

阿里P8架構師談:如何搭建億級併發系統的效能指標體系

阿里P8架構師談:如何搭建億級併發系統的效能指標體系

效能指標的分類

為了更好的去監控整個系統的效能,做好全流程的最佳化,主要分為3類:

1.感知系統性能

這類指標主要從工程師的角度去衡量,如後端的:

響應時間

當前併發的使用者數

請求數

請求的錯誤率等等。

2.使用者體驗效能

使用者實際感覺網頁是否載入延遲

首屏時間

白屏時間

完全載入時間之類

3.系統性能

這類指標重點檢視伺服器

伺服器的cpu

記憶體

網路頻寬

流量等等物理資源。

對於上述的每一類,衡量標準可能都不一樣,在資料展示方面,主要透過趨勢圖和彙總表格來展現,下面來對這3類指標分別細說:

感知系統性能

這類指標主要為工程師設計,來衡量業務後端的處理速度,主要從以下幾個方面去衡量:

1) 響應時間

響應時間是效能的主要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% 兩種指標)來衡量,具體如下:

阿里P8架構師談:如何搭建億級併發系統的效能指標體系

查詢域名

:開始查詢域名到查詢結束,計算公式為(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使用率監控圖

阿里P8架構師談:如何搭建億級併發系統的效能指標體系

2

.服務的硬碟io監控圖

阿里P8架構師談:如何搭建億級併發系統的效能指標體系

3.服務的網路io監控圖

阿里P8架構師談:如何搭建億級併發系統的效能指標體系

總結

監控->分析->最佳化

,號稱是效能最佳化的三部曲,為了更容易地找到效能最佳化的關鍵點,建立一個統一的精細化的效能監控平臺,做到資料驅動型的效能最佳化,是公司的長遠目標,也是值得公司投入的一個方向,

效能最佳化,從監控開始

,只有監控的效能指標體系建立好了,才能更好地去做分析和最佳化!

以上就是高併發網站最佳化體系的總結,以下是

最新阿里P8架構師談架構設計系列

阿里P8架構師談:如何搭建億級併發系統的效能指標體系

最新阿里P8架構師系列資料

阿里P8架構師談:如何搭建億級併發系統的效能指標體系

資料領取方法

關注+轉發後,私信關鍵詞 【架構】即可學習!

重要的事情說三遍,轉發、轉發、轉發後再發私信,才可以拿到哦!