成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

APM最佳實(shí)踐:Web 2.0和AJAX四大優(yōu)化戰(zhàn)略

開發(fā) 后端
本文針對(duì)當(dāng)下市面上存在的監(jiān)控技術(shù)問題給出的四點(diǎn)四大優(yōu)化意見,旨在幫助Web 2.0開發(fā)者有效利用APM解決方案解決上述難題的。

隨著Web應(yīng)用程序速度與效率快速增長(zhǎng),網(wǎng)站已經(jīng)成為企業(yè)與其客戶進(jìn)行交互的第一途徑——某些情況下甚至成為惟一途徑。在線電子商務(wù)網(wǎng)站的爆炸式發(fā)展就是這種情況的集中體現(xiàn)。

根據(jù)Forrester研究公司最新發(fā)布的報(bào)告,美國(guó)國(guó)內(nèi)在線零售業(yè)務(wù)總銷量至2017年將達(dá)到3700億美元——相當(dāng)于在未來幾年內(nèi)美國(guó)在線零售業(yè)年度復(fù)合增長(zhǎng)率都將保持10%以上。為了保持自身競(jìng)爭(zhēng)力,經(jīng)營(yíng)實(shí)體店鋪的零售商們被迫將其關(guān)注重點(diǎn)轉(zhuǎn)向在線銷售渠道,從而避免成為Amazon.com及其它電子商務(wù)網(wǎng)站的免費(fèi)展示設(shè)施。當(dāng)然,這股風(fēng)潮的涉及范圍遠(yuǎn)不止于零售行業(yè)。

網(wǎng)站能夠以成本更低的解決方案為客戶帶來產(chǎn)品與服務(wù),此類機(jī)制與在物理位置提供現(xiàn)場(chǎng)服務(wù)的傳統(tǒng)機(jī)制相比顯然更具成本效益。

IT消費(fèi)化趨勢(shì)同樣對(duì)網(wǎng)絡(luò)經(jīng)濟(jì)體系的發(fā)展起到了推波助瀾的作用。消費(fèi)者希望能夠在任意所處位置、通過任意設(shè)備訪問更多服務(wù)。根據(jù)Flurry Analytics公司的調(diào)查,智能設(shè)備的普及速度比上世紀(jì)八十年代的PC革命快了十倍還不止,即使是上世紀(jì)九十年代的互聯(lián)網(wǎng)風(fēng)潮與近年才出現(xiàn)的社交網(wǎng)絡(luò)覆蓋在速度方面也分別只達(dá)到其二分之一與三分之一。

有鑒于此,在線體驗(yàn)——以及對(duì)網(wǎng)站在速度與功能多樣性所提出的要求——已經(jīng)成為關(guān)鍵甚至是核心。一系列趨勢(shì)性特征已經(jīng)在Web應(yīng)用程序的設(shè)計(jì)當(dāng)中顯現(xiàn)出來,通常借由Web 2.0技術(shù)實(shí)現(xiàn)、例如JavaScript與AJAX,其中包括:

降低頁面加載數(shù)量。很多電子商務(wù)網(wǎng)站會(huì)通過減少用戶瀏覽與結(jié)賬所需要的頁面數(shù)量來簡(jiǎn)化整個(gè)購(gòu)買流程。舉例來說,消費(fèi)者在填寫計(jì)算機(jī)配置單的過程中,完全可以在無需重新加載整個(gè)頁面的前提下變更自己的選項(xiàng)、從而快速搭配出能夠滿足需求的組裝機(jī)方案。

異步頁面加載機(jī)制。通常情況下,我們所使用的大多是HTML頁面,這種方式能夠大大提高網(wǎng)頁的性能表現(xiàn)。具體來說,系統(tǒng)會(huì)首先加載體積較為小巧的HTML代碼,而后以異步方式逐步加載其它體積更龐大的元素。舉個(gè)例子,主頁面會(huì)快速加載完成、全部信息與功能都以異步方式率先交付給用戶。在此之后,宣傳廣告以及內(nèi)容區(qū)信息(通常在操作后才需要顯示)才逐步載入完成,并異步顯示在我們眼前。

純客戶端處理。現(xiàn)在對(duì)頁面中各事件的渲染已經(jīng)可以在完全不必與后端服務(wù)器產(chǎn)生交互的前提下完成。在這種情況下,對(duì)應(yīng)內(nèi)容由Web服務(wù)器作為頁面的組成部分加以交付,但并不會(huì)直接予以顯示——除非大家在操作中觸發(fā)了相應(yīng)事件。舉例為說,當(dāng)用戶將鼠標(biāo)懸停在某個(gè)下拉菜單上時(shí),對(duì)應(yīng)選項(xiàng)才會(huì)顯示出來。

內(nèi)容分發(fā)網(wǎng)絡(luò)(簡(jiǎn)稱CDN)。通常情況下,來自瀏覽器的HTTP請(qǐng)求會(huì)由CDN或者其它緩存技術(shù)負(fù)責(zé)填寫,這就避免了時(shí)刻觸及后端Web服務(wù)器所帶來的性能折扣。這種處理方式旨在為圖片等靜態(tài)內(nèi)容提供更為出色的訪問速度表現(xiàn)。舉例來說,Akamai(網(wǎng)絡(luò)存取加速服務(wù))會(huì)在Akamai邊緣處對(duì)全部頁面進(jìn)行緩存處理。

調(diào)用第三方服務(wù)供應(yīng)商的解決方案。另一類常見情況是,由瀏覽器生成的調(diào)用會(huì)直接指向第三方服務(wù)供應(yīng)商,因此根本不會(huì)觸及到相應(yīng)Web服務(wù)器。此類實(shí)例包括嵌入式社交媒體插件以及用于提供位置信息的谷歌地圖工具。

單頁面應(yīng)用程序。這是一類新近興起的異步式交互機(jī)制,其中整套應(yīng)用程序都被容納在單一頁面內(nèi)部、而且其使用體驗(yàn)與桌面應(yīng)用非常相似。該頁面的加載過程由一系列異步式調(diào)用組成,而且完全由用戶的操作實(shí)現(xiàn)觸發(fā)。此類解決方案徹底擺脫了根據(jù)所需內(nèi)容向服務(wù)器發(fā)送單一調(diào)用的傳統(tǒng)機(jī)制,從而顯著提高了性能表現(xiàn)并降低網(wǎng)絡(luò)負(fù)載。Gmail就是此類方案中的杰出代表。

盡管優(yōu)勢(shì)明顯,但Web 2.0卻也給APM領(lǐng)域帶來了不少挑戰(zhàn)。在Web 2.0誕生之前,大家只需要對(duì)HTTP頁面請(qǐng)求及其相關(guān)響應(yīng)加以監(jiān)控即可輕松追蹤用戶活動(dòng)。在那個(gè)時(shí)候,Web服務(wù)器會(huì)將返回內(nèi)容以完整頁面的形式響應(yīng)到用戶瀏覽器當(dāng)中。有鑒于此,監(jiān)控機(jī)制只需要關(guān)注高級(jí)頁面中的獨(dú)立請(qǐng)求,也就是說整體與單一請(qǐng)求性能表現(xiàn)都可在HTTP請(qǐng)求層面實(shí)現(xiàn)監(jiān)控。由于所有請(qǐng)求都會(huì)被發(fā)回到Web服務(wù)器,我們只需通過Web服務(wù)器層中的代理機(jī)制或者對(duì)通過線纜傳輸?shù)臄?shù)據(jù)包進(jìn)行采樣即可有效完成監(jiān)控任務(wù)。這也是APM解決方案早期曾經(jīng)采用過的常見處理方式。

在Web 2.0時(shí)代,各類瀏覽器都擁有了在單一網(wǎng)頁內(nèi)部執(zhí)行嵌入代碼的能力,這就消除了代碼執(zhí)行需要調(diào)用后端應(yīng)用程序服務(wù)器的必要需求。JavaScript是目前在此類應(yīng)用領(lǐng)域中普及程度最高的語言選項(xiàng),憑借著自身在速度、效率以及降低網(wǎng)絡(luò)負(fù)載方面的優(yōu)勢(shì)(通過運(yùn)行在終端用戶本地硬件之上實(shí)現(xiàn))、它甚至在全部主流編程語言中也保持著旺盛的人氣。JavaScript的適用范圍極廣,其中包括處理頁面動(dòng)畫元素、播放音頻與視頻以及驗(yàn)證Web輸入數(shù)據(jù)等等。

AJAX(即異步式JavaScript與XML)編程趨勢(shì)的普及則進(jìn)一步拓展了瀏覽器在處理異步式請(qǐng)求方面的能力,進(jìn)而使其能夠僅對(duì)頁面中的特定部分加以更新、而不再需要重新加載整套頁面。舉例來說,用戶在處理結(jié)賬頁面以及運(yùn)費(fèi)請(qǐng)求時(shí),他或者她完全可以在與專家溝通后直接查看價(jià)格變化而無需重新載入整套頁面。

AJAX與JavaScript強(qiáng)大無比,但也給利用傳統(tǒng)方法監(jiān)控Web應(yīng)用的管理人員帶來了一系列挑戰(zhàn)。

下面來看其中一些與上述方法相關(guān)的主要盲點(diǎn),包括:代碼級(jí)分析缺乏,傳統(tǒng)角度講APM解決方案專注于通過在數(shù)據(jù)中心服務(wù)器內(nèi)安裝代理機(jī)制以實(shí)現(xiàn)對(duì)代碼執(zhí)行情況的監(jiān)控。但現(xiàn)在這類方案只能反響一部分實(shí)際情況。

在現(xiàn)代Web應(yīng)用程序當(dāng)中,約有八成的代碼執(zhí)行在瀏覽器內(nèi)部完成。應(yīng)用程序服務(wù)器內(nèi)的字節(jié)碼也存在類似的情況,換言之,必須將測(cè)試工具轉(zhuǎn)向?yàn)g覽器端才能有效監(jiān)控JavaScript執(zhí)行與錯(cuò)誤狀態(tài)。

不正確的頁面響應(yīng)時(shí)間。時(shí)至今日,單純監(jiān)控網(wǎng)絡(luò)流量本身已經(jīng)無法準(zhǔn)確衡量頁面的實(shí)際響應(yīng)時(shí)間。利用這種方式,只有每一個(gè)獨(dú)立對(duì)象(或者點(diǎn)擊)所引發(fā)的HTTP請(qǐng)求與響應(yīng)才會(huì)返回到Web服務(wù)器(或者原點(diǎn))處、并接受時(shí)間檢查。然而在Web 2.0時(shí)代,很多請(qǐng)求根本不會(huì)返回到原點(diǎn),而更多地被路由至CDN或者利用緩存技術(shù)被填充在其它環(huán)境當(dāng)中。

我們同樣無法利用網(wǎng)絡(luò)采樣方式處理指向第三方Web服務(wù)(例如谷歌地圖工具)的調(diào)用操作。為了對(duì)廣告、地圖、購(gòu)物車、網(wǎng)絡(luò)分析、社交媒體模塊、CDN與DNS響應(yīng)時(shí)間等進(jìn)行全面調(diào)查,必須通過身處瀏覽器內(nèi)部的監(jiān)控方案對(duì)頁面載入時(shí)間加以審查才有可能實(shí)現(xiàn)。

背景信息不足

在理想條件下,網(wǎng)絡(luò)流量監(jiān)控能夠?qū)⒑蠖苏{(diào)用與將其發(fā)出的頁面關(guān)聯(lián)起來。對(duì)于傳統(tǒng)應(yīng)用程序而言,由此帶來的背景信息已經(jīng)足以用于進(jìn)行故障排查,但在AJAX領(lǐng)域卻無法順利起效。在AJAX環(huán)境下,單一頁面發(fā)出的調(diào)用可能成百上千。而更具挑戰(zhàn)的是,大量JavaScript事件(例如鼠標(biāo)點(diǎn)擊菜單選項(xiàng))根本不會(huì)創(chuàng)建出指向Web服務(wù)器的調(diào)用,這就讓此類純?yōu)g覽器事件消失在了網(wǎng)絡(luò)采樣方案與Web服務(wù)器監(jiān)控機(jī)制的視野當(dāng)中。

隨著網(wǎng)站自身對(duì)于動(dòng)態(tài)內(nèi)容及第三方服務(wù)依賴性的持續(xù)提升,終端用戶的實(shí)際使用體驗(yàn)往往只能依靠瀏覽器自身加以衡量。

四種方式讓你的APM戰(zhàn)略步入現(xiàn)代化軌道

隨著一系列新興技術(shù)成果的出現(xiàn),Web 2.0在帶來挑戰(zhàn)的同時(shí)也蘊(yùn)藏著巨大機(jī)遇。盡管傳統(tǒng)方法已經(jīng)不能單憑自身力量完成任務(wù),但將令人振奮的新興檢測(cè)技術(shù)作為補(bǔ)充、進(jìn)而與原有方案相結(jié)合則能夠提供遠(yuǎn)超以往水平的洞察能力。下面我們就來介紹四種足以應(yīng)對(duì)Web 2.0新時(shí)期下新型難題的APM戰(zhàn)略升級(jí)思路。

1.  捕捉功能性問題并建立背景信息

在處理面向外部的應(yīng)用程序時(shí),性能表現(xiàn)并不是惟一需要關(guān)注的重點(diǎn)。應(yīng)用程序的功能性問題在出現(xiàn)頻率上要遠(yuǎn)高于性能問題,這同時(shí)也是導(dǎo)致用戶放棄甚至轉(zhuǎn)而使用其它站點(diǎn)的首要原因。由于Web應(yīng)用程序通常扮演著企業(yè)與其客戶進(jìn)行交互的惟一渠道,因此故障排查人員往往不太可能親自與用戶進(jìn)行溝通以了解到底是哪些環(huán)節(jié)出了問題。

試想一下,假設(shè)由于應(yīng)用程序的設(shè)計(jì)存在缺陷、其在處理開頭為零的郵政編碼信息時(shí)出現(xiàn)了錯(cuò)誤。

在這種情況下,采用能夠捕捉瀏覽器事件的解決方案,例如鼠標(biāo)點(diǎn)擊以及鍵盤輸入數(shù)據(jù),顯然能夠重現(xiàn)用戶的會(huì)話活動(dòng)、從而幫助我們主動(dòng)識(shí)別并解決這些問題。

2.  捕捉JavaScript錯(cuò)誤并對(duì)其進(jìn)行故障排查

考慮這樣的場(chǎng)景,如果某家企業(yè)希望推出一項(xiàng)全新AJAX功能以實(shí)現(xiàn)網(wǎng)上下單操作、但卻不斷返回JavaScript錯(cuò)誤,結(jié)果會(huì)怎樣。這一切在Web日志當(dāng)中可能根本沒有體現(xiàn),而且所有響應(yīng)時(shí)間看起來都極為正常。結(jié)果呢,故障排查人員甚至根本感受不到問題的存在——直到客戶們的抱怨之聲鋪天蓋地而來。在這種情況下,糊涂不再是福、而意味著潛在營(yíng)收的大量外流。

我們的APM解決方案應(yīng)該能夠檢測(cè)JavaScript錯(cuò)誤并就此發(fā)出警告,從而敦促技術(shù)人員盡快著手加以處理。

3.關(guān)注來自頁面加載時(shí)間的細(xì)節(jié)信息

為了將廣告、地圖、購(gòu)物車、網(wǎng)絡(luò)分析、社交媒體模塊、CDN與DNS響應(yīng)時(shí)間等因素確切納入監(jiān)控范疇,我們必須在瀏覽器內(nèi)部對(duì)頁面加載時(shí)間進(jìn)行高度關(guān)注。幸運(yùn)的是,現(xiàn)在新一代IE、火狐以及Chrome瀏覽器都已經(jīng)提供HTML 5導(dǎo)航定時(shí)功能。它能夠?qū)⑼暾捻撁婕虞d時(shí)長(zhǎng)拆分成DNS查找、重新定向、SSL握手、處理以及緩存訪問時(shí)長(zhǎng)等具體項(xiàng)目。務(wù)必選擇一套具備此類功能的APM解決方案。

wKioL1QH_rOTFmeqAAF27PgXl6s465.jpg

4.  將問題隔離在特定頁面元素當(dāng)中

目前瀏覽器所能捕捉的信息還僅限于完整頁面加載內(nèi)容,也就是說無法針對(duì)個(gè)別頁面提供定時(shí)信息,例如載入圖像或者圖片、CSS樣式表、指向Web服務(wù)器或者REST API的后端調(diào)用所用去的時(shí)間。具備網(wǎng)頁分析功能的網(wǎng)絡(luò)采樣工具則可以為指向單獨(dú)頁面對(duì)象的HTTP請(qǐng)求與響應(yīng)計(jì)時(shí),從而幫助故障排查人員將問題固定在特定頁面元素身上。在選擇網(wǎng)絡(luò)監(jiān)控解決方案時(shí),請(qǐng)大家務(wù)必確保自己采購(gòu)的產(chǎn)品具備這項(xiàng)功能。

APM對(duì)Web 2.0應(yīng)用程序?qū)嵤┍O(jiān)控原理

好的APM產(chǎn)品要以客戶為中心、且能夠與APM相協(xié)作的解決方案,能夠在數(shù)據(jù)之外為IT以及業(yè)務(wù)部門帶來更為確切的答案。除此之外,大家可以選擇將其與數(shù)據(jù)庫、虛擬化或者網(wǎng)絡(luò)性能監(jiān)控機(jī)制結(jié)合起來,從而進(jìn)一步發(fā)揮APM在整體企業(yè)監(jiān)控戰(zhàn)略當(dāng)中的全能實(shí)力。

wKiom1QH_q_xYLXRAAKb6T28Zhg236.jpg

結(jié)合傳統(tǒng)與現(xiàn)代解決方案中的諸多優(yōu)勢(shì)要素,APM產(chǎn)品應(yīng)該具備如下卓越特性:

  •  能夠捕捉每位用戶的每一次點(diǎn)擊并重現(xiàn)Web用戶的實(shí)際活動(dòng),從而真正復(fù)制用戶使用體驗(yàn)、從而實(shí)現(xiàn)背景信息取證并完成故障排查。
  •  利用強(qiáng)大的應(yīng)用程序運(yùn)行時(shí)架構(gòu)自動(dòng)發(fā)現(xiàn)機(jī)制將我們的應(yīng)用程序與基礎(chǔ)設(shè)施關(guān)聯(lián)性加以映射。
  •  確保精確的問題區(qū)域識(shí)別、詳盡的響應(yīng)時(shí)間分解以及完整的傳輸路徑可視化呈現(xiàn)——從應(yīng)用程序?qū)拥浇K端用戶,整個(gè)流程盡在掌握。
  •  將所有用戶以及追溯信息容納在一套以“事務(wù)”為核心的通用型框架當(dāng)中——從而保證數(shù)據(jù)與工作流程以無縫化方式進(jìn)行協(xié)作,并提供獨(dú)一無二的可視化顯示效果。
  •  彌合虛擬化與共享資源沖突給Web應(yīng)用程序帶來的影響,保證數(shù)據(jù)與關(guān)系在所有事務(wù)維度中的和諧統(tǒng)一——從瀏覽器到數(shù)據(jù)庫、從代碼層到虛擬機(jī)管理程序。
  •  利用細(xì)致的根本原因分析機(jī)制,在Java與.NET應(yīng)用程序服務(wù)器內(nèi)部揪出代碼層瓶頸。
  •  追蹤每項(xiàng)請(qǐng)求的調(diào)用堆棧并捕捉相關(guān)支持證據(jù),包括內(nèi)存(堆)統(tǒng)計(jì)、方法參數(shù)以及SQL綁定變量等。
  •  利用豐富的監(jiān)控?cái)?shù)據(jù)與高可擴(kuò)展性分析機(jī)制提供開箱即用的分析與可視化處理方案。

總結(jié)

以JavaScript與AJAX為代表的Web 2.0技術(shù)體系為Web應(yīng)用程序帶來了優(yōu)勢(shì)顯著的處理速度提升,同時(shí)也讓性能表現(xiàn)與執(zhí)行效率邁上新的臺(tái)階。希望APM產(chǎn)品能夠?yàn)殚_發(fā)者給予幫助。

博客地址:http://tingyun.blog.51cto.com/9285830/1548706

責(zé)任編輯:林師授 來源: 51CTO
相關(guān)推薦

2024-12-30 11:24:56

APMZipkinPinpoint

2014-03-05 17:17:09

LuapythonR

2010-08-26 22:27:58

2009-08-07 09:26:36

Web2.0社交軟件

2010-03-09 13:27:23

Web 2.0應(yīng)用程序

2014-03-19 14:34:06

JQuery高性能

2009-06-16 15:33:13

AJAX框架jQueryExt JS

2023-08-22 10:52:50

業(yè)務(wù)轉(zhuǎn)型數(shù)字化轉(zhuǎn)型

2012-11-16 11:11:06

深度影音Linux Deepi

2015-08-05 11:32:10

2016-07-05 11:08:29

云計(jì)算戰(zhàn)略

2016-03-30 11:51:55

2010-09-01 11:01:02

iUIjQTouchSencha Touc

2015-07-17 09:50:16

Carthage優(yōu)劣比較

2009-01-03 14:57:19

ibmdwLotusWeb2.0

2010-12-02 14:32:43

Mobile Web移動(dòng)互聯(lián)網(wǎng)移動(dòng)Web設(shè)計(jì)

2011-07-07 08:53:15

真相TitaniumPhoneGap

2017-03-17 19:48:01

人臉識(shí)別

2010-08-03 21:59:56

2010-01-14 09:57:42

火狐Chrome
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美综合自拍 | 黄色片视频网站 | 亚洲国产aⅴ成人精品无吗 综合国产在线 | 国产激情精品视频 | 91麻豆精品国产91久久久久久久久 | 成人一区在线观看 | 成人免费视频网站在线看 | 国产精品福利视频 | 日韩毛片在线免费观看 | 一区二区三区免费在线观看 | 国产一级片免费看 | 国产在线精品一区二区 | 久久精品欧美一区二区三区麻豆 | 91精品国产综合久久精品 | 亚洲天堂久久新 | 日韩成人在线播放 | 久久成人一区 | 情侣av| 免费黄色特级片 | 色综合久久伊人 | 一级片在线观看 | 欧美日韩在线播放 | 精品久久久久香蕉网 | 奇米四色在线观看 | 人人操日日干 | 欧洲精品码一区二区三区免费看 | 天堂资源 | 午夜精品久久久久久久久久久久久 | 欧美精品一区二区三区四区 在线 | 涩色视频在线观看 | 亚洲网址在线观看 | 午夜成人在线视频 | 亚洲精品中文字幕在线观看 | 黄色一级免费看 | 色伊人| 日本久久网站 | 久久综合九色综合欧美狠狠 | 色婷婷久久综合 | 亚洲 欧美 在线 一区 | 91免费在线 | 久久在线免费 |