天天看點

模拟監控VS真實使用者監控!應用性能監控工具大PK

任何應用監控技術的重中之重通常是針對終端使用者的基礎架構或元件進行監控。智能工具是測量使用者體驗的理想工具,因為它們了解應用的運作情況,會自動基準化性能表現,在幾乎不産生幹擾的情況下解碼并建立應用子元件間的關系。

其實,在測量使用者體驗時,有兩種不同的性能監控方法:

模拟監控——供應商提供遠端(通常是全球的)基礎設施,可定期通路網站并記錄每次運作的性能資料。測量的流量并非實際使用者所産生的,而是用于收集頁面性能時生成的。

真實使用者監控——供應商提供嵌入到每個頁面的代理(javascript 腳本),報告目前頁面的每個請求的加載資料。顧名思義,這種監控技術主要觀測實際使用者的互動。

模拟監控VS真實使用者監控!應用性能監控工具大PK

由于這兩種方式事實上是互補的,是以沒辦法簡單的說哪種更好。eric shepherd (gilt 的前端工程師)歸納了這兩種技術所具備的優勢:

“真實使用者監控和模拟監控都能從不同角度對應用性能進行監控,且具有不同的功能和針對性。真實使用者監控幫助我們了解應用的長期趨勢,而模拟監控可以診斷出并解決短期的性能問題。”

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

模拟監控

本質上,有了模拟監控(也稱為主動監控),使用者可以指定以下監控項目:

監控哪一個 url(網站或是伺服器)。

監控的類型(http, ping, api 還是其他)。

監控此 url 的頻率。

如果出了問題,向誰發送告警。

告警的方式。

模拟監控VS真實使用者監控!應用性能監控工具大PK

這是模拟監控測量網站性能的方式(圖檔來源: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 官方部落格

繼續閱讀