模擬監控VS真實用戶監控!應用性能監控工具大PK

任何應用監控技術的重中之重一般是針對終端用戶的基礎架構或組件進行監控。智能工具是測量用戶體驗的理想工具,由於它們理解應用的運行狀況,會自動基準化性能表現,在幾乎不產生干擾的狀況下解碼並創建應用子組件間的關係。html

其實,在測量用戶體驗時,有兩種不一樣的性能監控方法:前端

  • 模擬監控——供應商提供遠程(一般是全球的)基礎設施,可按期訪問網站並記錄每次運行的性能數據。測量的流量並不是實際用戶所產生的,而是用於收集頁面性能時生成的。
  • 真實用戶監控——供應商提供嵌入到每一個頁面的代理(Javascript 腳本),報告當前頁面的每一個請求的加載數據。顧名思義,這種監控技術主要觀測實際用戶的交互。
    模擬監控VS真實用戶監控!應用性能監控工具大PK

因爲這兩種方式事實上是互補的,因此沒辦法簡單的說哪一種更好。Eric Shepherd (Gilt 的前端工程師)概括了這兩種技術所具有的優點:web

「真實用戶監控和模擬監控都能從不一樣角度對應用性能進行監控,且具備不一樣的功能和針對性。真實用戶監控幫助咱們理解應用的長期趨勢,而模擬監控能夠診斷出並解決短時間的性能問題。」瀏覽器

在此,筆者對兩種監控方式作了一個對比,下面向您介紹兩種監控各自的特色:緩存

模擬監控服務器

本質上,有了模擬監控(也稱爲主動監控),用戶能夠指定如下監控項目:網絡

  • 監控哪個 URL(網站或是服務器)。
  • 監控的類型(HTTP, Ping, API 仍是其餘)。
  • 監控此 URL 的頻率。
  • 若是出了問題,向誰發送告警。
  • 告警的方式。

這是模擬監控測量網站性能的方式(圖片來源:Cloud Test)。前端工程師

模擬監控解決方案在告警網站可用性方面很有成效,你能夠在訪客到達網站以前瞭解網站出現的問題。若是咱們的系統檢測出網站宕機,你可使用各類各樣的工具,分析出故障的組件,儘快修復故障,使網站平穩運行。架構

如下是模擬監控的幾個特色:工具

1.在控制的環境下進行監控
模擬監控容許用戶經過一系列的控制變量(地理位置、網絡設備、瀏覽器、高速緩存或非高速緩存),詳細地對網站或應用性能進行監控。同時,它還能幫助用戶屏蔽掉真實用戶監控產生的海量噪音。其結果是用戶能夠及時地發現延遲和宕機時間,從而科學地診斷並隔離性能問題的根源。

2.瞭解第三方的性能
與真實用戶監控不一樣的是,模擬監控工具能夠呈現供應商生成的網站訪問的詳細圖表,這些圖表顯示了整頁的資源加載時間,容許用戶將每一毫秒的時間對應上相關的網頁內容。例如,用戶能夠深刻了解到廣告供應商切換、內容交付或採用新營銷分析插件對性能的影響。

3.基準測試
啓動模擬監控不須要任何安裝或代碼嵌入。隨後,用戶能夠利用模擬工具備效地監控競爭和一段時間內針對關鍵競爭者的有效基準性能。

4.開發的每一個階段都可測試
模擬監控可在預生產階段對網站和 web 應用進行測試。預生產測試結果可用於性能基準,並設置應用運行的警報閾值。

5.7×24小時監控
若是非工做時間或其餘低流量週期出現問題,模擬監控可在對用戶、收益和品牌效應產生負面影響以前,幫助你快速識別、隔離並解決問題,將損失降到最低。

6.跨地域分析基線和性能趨勢
結合模擬監控能夠設置基線測試,以還原終端用戶訪問應用程序的方式。這些基線測試能夠在測試多個瀏覽器和設備訪問應用的同時,監測關鍵事務和地理位置等信息。

真實用戶監控

模擬監控經過數據中心的服務器鏈接你的網站,而真實用戶監控卻能獲取真實用戶的訪問數據。所以,後者也被稱爲被動監控。

使用真實用戶監控時,你須要指定監控的網站,並將一小段代碼插入該網站頁面的 HTML 內。這些步驟都很簡單快速,配置完畢以後,咱們就會開始收集網站的用戶數據。這些數據來自網站的每個頁面,而模擬監控只能收集指定的 URL 的數據。

儘管模擬監控優勢不少,但有些事情它仍是沒法告知你。這也是爲何要使用真實用戶監控的緣由。真實用戶監控不只能提供有關網站性能的更詳細數據,還能展現用戶從打開網站開始的真實體驗。這包括鏈接類型、瀏覽器、用戶使用的訪問設備、他們的地理位置等等。你能看到每一個訪客的聚合數據,而不是有限的樣本數據。

換句話說,模擬監控告訴你訪客可能的網站體驗,而真實用戶監控讓你瞭解真實的用戶體驗。
模擬監控VS真實用戶監控!應用性能監控工具大PK
上圖展現了真實用戶監控服務展示網站性能的幾個指標——AjAX性能、頁面性能、Apdex等(圖片來源:Browser Insight)。真實用戶監控會加載整個網站(HTML, CSS,腳本,圖片等),而不僅僅是 HTML。這使你獲得更多的網站性能數據,對用戶體驗的瞭解也更爲深刻。

如下是你使用真實用戶監控以後,能夠了解到的信息:

  • 實時訪問:單個頁面的加載狀況。
  • 性能趨勢:加載時間的變化趨勢,選定時間範圍,瞭解這段時間內的加載時長變化。
  • 地域表現:來自不一樣國家的用戶在訪問網站時的體驗差別。你可能想專門改善某幾個國家的用戶的訪問體驗。
  • 移動 VS. 桌面:查看經過移動端和桌面端進行訪問的用戶比例,以及各自的訪問體驗。
  • 性能長尾:不只查看最快的加載時間,也能查看那些遭遇性能緩慢的用戶狀況。
  • 加載狀態:詳細展現頁面的加載狀況,從用戶點擊連接到加載完畢,時間都耗費在哪些步驟。
  • 用戶滿意度:訪客是否滿意或沮喪?列明哪些性能表現可歸爲使人滿意、可容忍以及使人沮喪。讓你快速瞭解用戶整體的滿意度。

有了這些真實用戶數據,一旦網站出現性能問題,你能夠準確找到問題源頭。在這種狀況下,真實用戶監控還可作爲模擬監控的預兆,指出應當深刻調查的組件。

總而言之,真實用戶監控是衡量網站性能的最佳手段,而模擬監控是檢查網站是否可用的最佳方法。同時使用這兩種工具,意味着你的網站能爲用戶提供最優的訪問體驗。

Cloud Test 是基於雲技術的實時監控系統,可以幫你們實時監控網站性能,監控CDN、DNS、API等第三方服務提供商的可用性,實現應用性能及時監測及時報警。想閱讀更多技術文章,請訪問 OneAPM 官方技術博客
本文轉自 OneAPM 官方博客

相關文章
相關標籤/搜索