模擬監(jiān)控和真實(shí)用戶體驗(yàn)監(jiān)測(cè),選哪個(gè)?

終端用戶模擬監(jiān)控,也就是國(guó)內(nèi)俗稱的「云撥測(cè)」,其低廉的價(jià)格以及便捷的部署方法加快了模擬監(jiān)測(cè)的普及速度,但同時(shí)也導(dǎo)致了一些誤用:很多公司以及用戶將模擬監(jiān)控當(dāng)做用戶的真實(shí)訪問情況,監(jiān)控出來(lái)的數(shù)據(jù)很棒,但是用戶的投訴卻一直不斷。

一.前言

最近幾年,IT 界人力成本越來(lái)越高,并且大數(shù)據(jù)的到來(lái)從某種程度上講也意味著互聯(lián)網(wǎng)前期靠人力來(lái)進(jìn)行性能優(yōu)化的時(shí)代已經(jīng)過(guò)去了,于是各種 APM 工具應(yīng)運(yùn)而生。

從實(shí)際角度講,只有少數(shù) APM 廠家才具備開發(fā)基于真實(shí)用戶體驗(yàn)的性能監(jiān)控工具的能力,所以模擬監(jiān)控一直以來(lái)都是 APM 的主流。并且很多情況下,APM 供應(yīng)商常常會(huì)單獨(dú)出售模擬監(jiān)控測(cè)試工具,并將其完全等同于性能監(jiān)控,這導(dǎo)致監(jiān)控方案的買主們常常誤解這些技術(shù)案例,以為他們就是自己想要的真實(shí)用戶體驗(yàn)監(jiān)控。

從根本上說(shuō),這是由于用戶對(duì)「可用性」與「真實(shí)用戶體驗(yàn)性能監(jiān)控」的理解有誤造成的。

大多數(shù)模擬監(jiān)控更偏重于網(wǎng)站應(yīng)用的可用性、響應(yīng)時(shí)間等,其當(dāng)然有自己的重要之處,但是如果要有針對(duì)性的進(jìn)行性能監(jiān)控優(yōu)化的話,基于真實(shí)用戶體驗(yàn)的性能監(jiān)控是必不可少的。

二.性能監(jiān)控工具的推廣難在哪里?

1.性能監(jiān)控領(lǐng)域的主要問題

  • 模擬監(jiān)控與測(cè)試簡(jiǎn)單易懂,部署起來(lái)很方便,容易實(shí)現(xiàn),不涉及代碼權(quán)限的問題,但只從這一個(gè)渠道獲得數(shù)據(jù),并用于評(píng)定應(yīng)用性能顯然不是正確的視角。

  • 雖然真實(shí)用戶體驗(yàn)監(jiān)控工具正在優(yōu)化其部署方法,但,最基本的運(yùn)維權(quán)限甚至修改頁(yè)面代碼的限制,確實(shí)制約了其普及的力度。

  • 許多公司缺少真實(shí)用戶監(jiān)控意識(shí),不了解什么是「真實(shí)用戶體驗(yàn)」,常常錯(cuò)誤地將模擬監(jiān)控完全等同于應(yīng)用性能監(jiān)控管理(APM)

2.相關(guān)建議

  • 實(shí)施真實(shí)用戶監(jiān)控技術(shù),安裝包含多種 APM 維度的探針(具體的介紹在文章后面有),如果探針無(wú)法安裝或風(fēng)險(xiǎn)太大,則部署網(wǎng)絡(luò)監(jiān)控。

  • 不要為了評(píng)定應(yīng)用性能而部署過(guò)多模擬監(jiān)控,模擬監(jiān)控主要是從可用性的角度來(lái)監(jiān)測(cè)的,好的優(yōu)化團(tuán)隊(duì)?wèi)?yīng)該從真實(shí)用戶數(shù)據(jù)中找到可優(yōu)化點(diǎn),從而打破檢測(cè)與監(jiān)控的循環(huán)。

  • 控制模擬監(jiān)控的人員與資金投入,而將資源投入到更有價(jià)值的活動(dòng)中,如真實(shí)用戶體驗(yàn)監(jiān)控。

  • 將模擬監(jiān)控用于 SLAs (服務(wù)水平協(xié)議)基準(zhǔn)測(cè)試,以及適合的性能監(jiān)控案例,諸如第三方應(yīng)用組件、API接口、Ping值的性能測(cè)試。

模擬監(jiān)控和真實(shí)用戶體驗(yàn)監(jiān)測(cè),選哪個(gè)?

3.戰(zhàn)略規(guī)劃設(shè)想

之前在 Gartner 看到過(guò)相關(guān)數(shù)據(jù),未來(lái)互聯(lián)網(wǎng)對(duì)應(yīng)用性能的需求一定會(huì)逐漸超過(guò)對(duì)應(yīng)用可用性的需求,并且在 2015 年,模擬監(jiān)控占性能監(jiān)控使用量的百分比減少 30% ,并且將來(lái)會(huì)進(jìn)一步下降。

三.針對(duì)現(xiàn)狀的分析

1. 了解并使用相關(guān)真實(shí)用戶體驗(yàn)監(jiān)控技術(shù)和工具

任何真實(shí)用戶體驗(yàn)監(jiān)控技術(shù)和工具的重點(diǎn)通常都是針對(duì)終端用戶的基礎(chǔ)架構(gòu)或組件的監(jiān)控。智能化的工具是測(cè)量真實(shí)用戶體驗(yàn)的理想工具,因?yàn)樗鼈兝斫鈶?yīng)用的運(yùn)行情況,會(huì)自動(dòng)基準(zhǔn)化性能表現(xiàn),在幾乎不產(chǎn)生干擾的情況下解碼并建立應(yīng)用子組件間的關(guān)系。


模擬監(jiān)控和真實(shí)用戶體驗(yàn)監(jiān)測(cè),選哪個(gè)?

現(xiàn)階段,國(guó)內(nèi)外在測(cè)量終端用戶體驗(yàn)時(shí),主要三種不同的性能監(jiān)控方法:

1).以網(wǎng)絡(luò)為基礎(chǔ)的探測(cè)技術(shù)——從數(shù)據(jù)中心的邊緣或環(huán)境中的多點(diǎn)調(diào)查網(wǎng)絡(luò)流量,從而確定終端用戶響應(yīng)時(shí)間,以及其他應(yīng)用基礎(chǔ)組件的詳細(xì)信息(比如:數(shù)據(jù)庫(kù),中間件和文檔服務(wù)器等),這些工具不僅能處理以 Web 為基礎(chǔ)的應(yīng)用,也監(jiān)測(cè)網(wǎng)絡(luò)中其他應(yīng)用。

此類服務(wù)供應(yīng)商包括:OneAPM Applicaton Insight、Mobile Insight, AppNeta, Appnomic,BMC Software, Boundary,Compuware, Network Instruments, Net Optics, Niksun, Opnet Technologies, Oracle, Paessler, Riverbed, VMware, WildPackets 等。

2).以瀏覽器為基礎(chǔ)的腳本注入——幫助用戶了解運(yùn)行瀏覽器的主要終端,包括PC、微信、移動(dòng)端瀏覽器、Android webview 等,能滿足這點(diǎn)很不容易。一般情況下,這種工具的部署比較簡(jiǎn)單,主要采用往頁(yè)面插入 js 代碼的方法,但是需要機(jī)械性的操作還要有修改代碼的權(quán)限才行。

未來(lái)的移動(dòng)應(yīng)用將會(huì)包含復(fù)合型應(yīng)用,它們結(jié)合了本地應(yīng)用程序功能與瀏覽器相關(guān)的組件。這種令人期待的應(yīng)用將支持 JavaScript 的運(yùn)行,還可以擴(kuò)平臺(tái),而且部署更加簡(jiǎn)單。現(xiàn)有的某些 APM 工具能檢測(cè) DNS 響應(yīng)時(shí)間,數(shù)據(jù)從終端用戶傳到服務(wù)端的傳輸時(shí)間、CDN 資源監(jiān)控等,當(dāng)這些工具與網(wǎng)絡(luò)或基于服務(wù)器的監(jiān)控結(jié)合使用時(shí),就可以瀑布式地細(xì)分頁(yè)面內(nèi)的各個(gè)資源加載耗時(shí)等。


模擬監(jiān)控和真實(shí)用戶體驗(yàn)監(jiān)測(cè),選哪個(gè)?

此類服務(wù)供應(yīng)商包括:AppDynamics,OneAPM Browser Insight,Arcturus, BMC Software, Cedexis, Compuware, Lucierna, Microsoft, New Relic, Opnet Technologies, Precise, Tracelytics 等。

3).終端部署——用戶在終端設(shè)備安裝探針或部署代碼,從而獲取終端用戶體驗(yàn),以及應(yīng)用運(yùn)行環(huán)境的詳細(xì)信息。這對(duì)于控制桌面的企業(yè)并不難實(shí)現(xiàn),而對(duì)于移動(dòng)設(shè)備監(jiān)控,則越發(fā)重要。移動(dòng)設(shè)備監(jiān)控允許管理員在設(shè)備上(平板、手機(jī))植入探針,或?qū)⒋a嵌入本地的移動(dòng)應(yīng)用,對(duì)于不接受消耗巨大的應(yīng)用的企業(yè),配置也可以部署在應(yīng)用內(nèi)部。

此類服務(wù)供應(yīng)商包括:OneAPM ,Aternity, Correlsense, Next Think 等。

由于獲取真實(shí)用戶監(jiān)控?cái)?shù)據(jù)的渠道很多,導(dǎo)致數(shù)據(jù)實(shí)現(xiàn)(data implementations)也變得很復(fù)雜起來(lái),可以嘗試使用探針在服務(wù)端植入腳本這類手動(dòng) JavaScript 注入方式、在端點(diǎn)設(shè)備配置探針或探測(cè)網(wǎng)絡(luò)中可以了解數(shù)據(jù)包的位置等方法。然而,這類技術(shù)的部署不像模擬業(yè)務(wù)只需弄個(gè) URL 那么簡(jiǎn)單,因此配置方法的便捷化仍是現(xiàn)期的主要目標(biāo)。

2.模擬監(jiān)控技術(shù)的不足

現(xiàn)有的模擬監(jiān)控往往需要腳本或建立在一定時(shí)間間隔內(nèi)執(zhí)行的多步驟事務(wù)。這些腳本與事務(wù)在軟件改變時(shí)也需要維護(hù),從而帶來(lái)持續(xù)的管理成本。

通常情況下,模擬監(jiān)控取自高速網(wǎng)絡(luò)連接中的高速服務(wù)器,這些交互并不是用戶使用應(yīng)用時(shí)真實(shí)的用戶體驗(yàn)?;谡鎸?shí)用戶與模擬測(cè)試的數(shù)據(jù)分析顯示,兩者之間存在兩到三倍的標(biāo)準(zhǔn)差。這種差別是由模擬測(cè)試工具運(yùn)行時(shí)的處理、連接以及環(huán)境與終端用戶實(shí)際可得的連接、計(jì)算資源的差異造成的。因此,許多公司賴以進(jìn)行應(yīng)用性能監(jiān)控的模擬測(cè)試真的只是個(gè)「模擬值」,因而帶來(lái)錯(cuò)誤的安全感。

模擬事務(wù)的測(cè)試數(shù)量有些過(guò)多,比如多次測(cè)試用戶可能選擇的事務(wù)軌跡,或者頻繁測(cè)試以測(cè)量應(yīng)用的響應(yīng)情況。當(dāng)測(cè)試過(guò)多的情況發(fā)生時(shí),會(huì)產(chǎn)生較大負(fù)載,可能影響用戶體驗(yàn),尤其是當(dāng)他們運(yùn)行到應(yīng)用中資源受限或瓶頸的部分。

大多數(shù)現(xiàn)代應(yīng)用常常會(huì)配備緩存機(jī)制,如果沒有明確指出,常常在軟硬件層實(shí)施(比如:存儲(chǔ)緩存,數(shù)據(jù)庫(kù)緩存,應(yīng)用服務(wù)器緩存甚至是 OS 緩存)。這導(dǎo)致一種誤解——運(yùn)行間隔較大的 trace 往往表現(xiàn)不錯(cuò),而實(shí)際的情況可能并非如此。

因此,將來(lái)模擬檢測(cè)的使用百分比的下降定是不言而喻。

模擬交易會(huì)導(dǎo)致其他操作上的問題。安全方面,模擬交易可能會(huì)涉及模擬憑證或登錄,或使用真實(shí)用戶的證書以測(cè)試系統(tǒng)。這會(huì)降低整個(gè)軟件系統(tǒng)的安全度。通過(guò)使用真實(shí)的交易數(shù)據(jù),可以規(guī)避這些問題,同時(shí)收集到更有意義的數(shù)據(jù)用于分析,并評(píng)定真實(shí)終端用戶的體驗(yàn)。

四.模擬監(jiān)測(cè)的主要價(jià)值——應(yīng)用可用性

廣泛地將模擬測(cè)試用于確保應(yīng)用性能其實(shí)是誤用,模擬測(cè)試主要是抓取重大的應(yīng)用或組件故障。當(dāng)模擬測(cè)試顯示應(yīng)用響應(yīng)能力的偏差時(shí),并不能指明真實(shí)用戶受到的影響,甚至無(wú)法判定主要問題出在哪兒,因?yàn)橛脩艚换ド系牟豁樌蜻\(yùn)行失利往往無(wú)法通過(guò)該技術(shù)檢測(cè)出來(lái)。該技術(shù)唯一的正確用途是檢查應(yīng)用或服務(wù)的可用性,或系統(tǒng)問題的根本原因分析(root cause analysis,RCA)。盡管模擬測(cè)試可用于根本原因分析,APM 技術(shù)卻能提供粒度更細(xì)致的根本原因分析。

模擬交易用于檢測(cè)可用性與性能的一個(gè)理想化案例是測(cè)量應(yīng)用的第三方組件(API 監(jiān)控)。當(dāng)代應(yīng)用引入的組件往往包含社交媒體功能,例如:臉書的點(diǎn)贊按鈕,Google+的“+1”按鈕或推特的轉(zhuǎn)發(fā)功能。這些組件在頁(yè)面渲染時(shí)可能導(dǎo)致緩慢。而緩慢的原因很難使用真實(shí)用戶監(jiān)控技術(shù)準(zhǔn)確定位。

不幸的是,使用真實(shí)用戶數(shù)據(jù)測(cè)量并建立 SLAs 困難重重,真實(shí)用戶數(shù)據(jù)往往受基礎(chǔ)架構(gòu)與運(yùn)營(yíng)團(tuán)隊(duì)無(wú)法控制的因素曲解。相比之下,模擬測(cè)試卻能清楚反應(yīng)不可用的應(yīng)用或服務(wù)。

將模擬測(cè)試用于 SLA 測(cè)量的基準(zhǔn)也是很好的使用案例。然而,不要只關(guān)注于模擬測(cè)量,了解真實(shí)用戶體驗(yàn)仍是測(cè)量應(yīng)用使用情況最重要的指標(biāo)。

五.總結(jié)

從以上分析可得,真正看重應(yīng)用性能的公司,應(yīng)當(dāng)把時(shí)間與金錢更專注于真實(shí)終端用戶角度,而不是模擬監(jiān)控能帶來(lái)的可用性測(cè)量,并且模擬事務(wù)監(jiān)控應(yīng)該用于測(cè)量應(yīng)用與第三方組件或服務(wù)的可用性。

模擬監(jiān)控自然有其巨大價(jià)值的存在,并且接下去的一段時(shí)間,模擬監(jiān)測(cè)的其他使用案例必定會(huì)不斷涌現(xiàn),比如,將模擬測(cè)試與其他數(shù)據(jù)源結(jié)合,能實(shí)現(xiàn)對(duì)應(yīng)用性能更多維度的理解。這些解決方案的主要目標(biāo)是使面向大量終端用戶的應(yīng)用程序能順利交付,而且,應(yīng)用交付與內(nèi)容傳遞在全球范圍內(nèi)的監(jiān)控對(duì)大多數(shù)公司而言都至關(guān)重要。

注:本文原作者為 Gartner 分析師 Jonah Kowall,由 OneAPM 產(chǎn)品運(yùn)營(yíng)編譯整理

Browser Insight 是一個(gè)基于真實(shí)用戶的 Web 前端性能監(jiān)控平臺(tái),能夠幫大家定位網(wǎng)站性能瓶頸,網(wǎng)站加速效果可視化;支持瀏覽器、微信、App瀏覽 HTML 和 HTML5頁(yè)面。想閱讀更多技術(shù)文章,請(qǐng)?jiān)L問 OneAPM 官方技術(shù)博客。

本文轉(zhuǎn)自 OneAPM 官方博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容