從這點(diǎn)來看,RUM會告訴你系統(tǒng)是否出問題了,因?yàn)槟憧梢酝ㄟ^RUM發(fā)現(xiàn)問題以及速度變慢的情況,這些情況你沒有進(jìn)行測試,從而也就不知道是否存在。
何時(shí)使用RUM
RUM工具生成兩種報(bào)表,每種都可以幫助你測量性能及診斷問題。
單個(gè)訪客報(bào)表
有了這樣的報(bào)表,就像每個(gè)訪客都有 Firebug一樣,你可以對用戶的訪問進(jìn)行回放,復(fù)查每個(gè)頁面和每個(gè)對象,也可以針對單個(gè)錯(cuò)誤生成報(bào)警(例如,“假如用戶得到了一個(gè)HTP500錯(cuò)誤,則給我發(fā)郵件”)。
集合報(bào)表
這些報(bào)表針對所有訪客顯示發(fā)生了什么一哪些頁面最慢、哪些對象出現(xiàn)的錯(cuò)誤最多等。可以基于聚合數(shù)據(jù)和時(shí)間段生成報(bào)警(例如,“如果5分分鐘之內(nèi)平均頁面延遲時(shí)間間超過5秒鐘,則發(fā)送一個(gè)SNMP陷阱”)。
常見的RUM用例包括
● 復(fù)查問題會話,以診斷網(wǎng)站的技術(shù)問題。
● 對網(wǎng)站真實(shí)訪客生成服務(wù)水平報(bào)表,特別是在運(yùn)行一個(gè)軟件作為服務(wù)(Sas)的系統(tǒng)時(shí)。識別出那些可能需要更多規(guī)范監(jiān)控的部分。
● 對于無法使用綜合方式進(jìn)行測量的部分,如付款頁面等,測測量其健康狀況
遇到問題即時(shí)報(bào)警,而不是采用間隔方式,到點(diǎn)兒才報(bào)。
RUM的局限
雖然綜合工具都大同小異,但客戶端的RUM工具,和服務(wù)器端的相比,是有很大區(qū)別的。前者依賴于AAX腳本或者嵌入的代理代碼(agent code),在終端用戶訪問網(wǎng)站時(shí),采集他們的信息;后者使用服務(wù)器日志、負(fù)載均衡器或者網(wǎng)絡(luò)竊聽器從數(shù)據(jù)中心收集訪客信息。
客戶端RUM在瀏覽器中觀察用戶體驗(yàn),所以能夠測量像客戶端渲染等的延遲??上У氖牵捎谥挥性陧撁娉晒虞d并且在瀏覽器上運(yùn)行的時(shí)候,客戶端RUM才能夠加載,所以就無法檢測導(dǎo)致其自身無法加載這樣的錯(cuò)誤,而且也可能與某些客戶端不兼容。更進(jìn)一步說,因?yàn)镽UM是在瀏覽器的沙箱里運(yùn)行的,所以也就無法看到更為低層的數(shù)據(jù),像包丟失情況,也無法計(jì)算用戶訪問第一個(gè)頁面時(shí)的主機(jī)延遲。
服務(wù)器端的RUM的問題正相反。因?yàn)楠?dú)立于瀏覽器,所以能看到發(fā)生的任何事情的詳細(xì)情況一一甚至是失敗的TCP連接次數(shù),然而卻看不到瀏覽器中發(fā)生的情況?;蛟S更重要的是,因?yàn)榉?wù)器端的RUM需要訪問網(wǎng)絡(luò)與日志,以及某些情況下的各個(gè)物理網(wǎng)絡(luò),所以對于托管或基于云計(jì)算的環(huán)境,就無法部署了。許多商業(yè)化的RUM解決方案結(jié)合了客戶端及服務(wù)器端的采集方式來解決這個(gè)問題。
配置RUM
有兩個(gè)基本步驟來配置RUM工具。首先,訓(xùn)練工具以理解網(wǎng)站的流量模式,然后告訴工具監(jiān)視哪些重要的內(nèi)容。
按照定義,一個(gè)RUM工具應(yīng)該能捕提所有進(jìn)出服務(wù)器的流量。對工具進(jìn)行訓(xùn)練是必要的,因?yàn)槊總€(gè)網(wǎng)站都是不同的。對工具進(jìn)行訓(xùn)練涉及到下面的步驟。
1.剔除不需要的流量。
某些流量你可能不需要。像網(wǎng)站機(jī)器人(bots)、其他的監(jiān)控工具、網(wǎng)絡(luò)服務(wù)調(diào)用以及防火墻之內(nèi)的流量,所有這些都會讓你曲解終端用戶的體驗(yàn)。
2.告訴系統(tǒng)如何追蹤單個(gè)用戶。
所有網(wǎng)站都會使用某種東西來識別單個(gè)訪客,不管是會話 cookie還是URL參數(shù),甚至是IP地址。但在某些RUM實(shí)現(xiàn)中一一特別是那些使用客戶端腳本的一這些是不需要的,因?yàn)槟_本實(shí)例運(yùn)行在每個(gè)訪客的瀏覽器中。
3.告訴系統(tǒng)如何組裝頁面。
知道一個(gè)頁面在哪里結(jié)束以及另一個(gè)頁面在哪里開始,是需要技巧的。有些頁面在加載以后可能還會有異步通信(如 Google Suggest,用戶在搜索框中輸入內(nèi)容時(shí), Google Suggest會基于這些內(nèi)容顯示建議)。RUM工具需要知道什么東西組成了頁面的開始與結(jié)束,這對于合理地計(jì)時(shí)以及計(jì)算頁面數(shù)都很重要
4.識別錯(cuò)誤。
雖然每個(gè)網(wǎng)站都有一些基本的錯(cuò)誤類型(如HTTP500),但也會有一些定制的頁面,看起來跟正常頁面一樣,但卻是出錯(cuò)頁面。
一旦工具理解了怎樣才算是一次訪問,以及如何測量延遲,你就可以告訴它要監(jiān)視些什么。多數(shù)RUM工具在開始時(shí)都會有默認(rèn)的參數(shù):頁面、用戶、城市以及服務(wù)器都是用來切割數(shù)據(jù)的好方法,都會向你顯示哪些最慢,或者哪些出錯(cuò)最多。
由于RUM工具要處理大量信息,所以往往只向你顯示高層次的數(shù)據(jù),除非你特別要求做鉆取,例如,進(jìn)入到網(wǎng)站建設(shè)的剛剛發(fā)布的那部分,或者顯示一個(gè)特定的高價(jià)值客戶。一般來說,每個(gè)數(shù)據(jù)區(qū)段都可以用來生成報(bào)告,以及產(chǎn)生報(bào)警或郵件通知。
本文地址:http://www.islandpacificappraisals.com//article/3345.html