搭建前端監(jiān)控系統(tǒng)(五)消息隊列處理并發(fā),通過一個消息暴增引發(fā)的前端線上崩了的問題場景來說明:消息隊列處理并發(fā)的重要性隨著前端監(jiān)控日志搜集的內(nèi)容越來越多,終于由于公司公眾號的一波推文,導(dǎo)致了日志的瞬間流量達(dá)到歷史新高,以至于mysql無法處理如此多的連接,系統(tǒng)崩潰。當(dāng)然,作為日志上傳的服務(wù)器,這個是必然會發(fā)生的情況,只是早晚的問題。既然出現(xiàn)了并發(fā)問題,那么前端工程師們就著手來處理吧。日志上傳如何緩解高并發(fā)的情況呢?我們分為三個小點來處理。為了解決規(guī)則報警的問題,監(jiān)控平臺可以引入一些簡單的數(shù)學(xué)模型來解決時序數(shù)據(jù)的異常識別工作。國內(nèi)好用的前端監(jiān)控和前端性能監(jiān)控軟件
你知道有多少用戶沒等到頁面首屏出現(xiàn)就離開了嗎?性能不佳會對業(yè)務(wù)目標(biāo)產(chǎn)生負(fù)面影響。比如,BBC發(fā)現(xiàn)他們的網(wǎng)站加載時間每增加一秒,他們就會失去10%的用戶。高性能站點比低性能站點更能吸引和留住用戶,而留住用戶對于提高用戶轉(zhuǎn)化率至關(guān)重要。
何衡量站點性能站點性能好壞的表現(xiàn)形式是多樣的,不是單純通過頁面加載速度、頁面渲染速度就能衡量,而是要關(guān)注從頁面開始加載到被關(guān)閉的整個過程中,用戶對性能的感知。一個頁面,即使很快渲染,如果對用戶的交互遲遲沒有響應(yīng),那么在用戶心中這個站點的性能依然很差。站點性能一般可以分為兩類,一類是首屏性能,另一類是運行時性能。前者衡量的是頁面從加載開始到可以穩(wěn)定交互的性能情況,后者衡量的是頁面穩(wěn)定后到頁面關(guān)閉的性能情況。 前端監(jiān)控webfunny前端監(jiān)控系統(tǒng)的功能:性能分析,通過分析頁面和接口性能,加載耗時,成功率。
搭建前端監(jiān)控系統(tǒng)(五)消息隊列處理并發(fā),在做webfunny前端監(jiān)控項目之前,作為前端程序員我能夠接觸到的關(guān)于消息隊列的應(yīng)用場景實在有限,所以不能介紹更復(fù)雜的內(nèi)容,大致的思維邏輯:有消息進(jìn)來,先存入消息隊列里,另一端再從隊列去取出來,完成接下來的工作。從代碼的角度來看:就是一個生產(chǎn)者和消費者的模式,生產(chǎn)者不停的向消息隊列里生產(chǎn)消息,消費者在有需要的時候,從消息隊列里取消息,一旦完成消費,隊列里便移除這個消息。消息的生產(chǎn)者和消費者互相沒有感知,生產(chǎn)者產(chǎn)生過剩的消息都存放在消息隊列里,由消費者慢慢消耗。以此來削峰填谷,達(dá)到處理高并發(fā)的目的。通過對前端消息應(yīng)用場景的淺顯理解,我自己在設(shè)計webfunny前端監(jiān)控時,在這塊兒做了許多補(bǔ)充,因此webfunny前端監(jiān)控也時足以滿足目前日志上傳的需求了。
二、前端數(shù)據(jù)分類:2.4 異常相關(guān)的數(shù)據(jù)這里的異常是指 JS 的異常,用戶的瀏覽器上報 JS 的 bug,這會極大地降低用戶體驗異常的提示信息:這是識別一個異常的重要依據(jù),如:為空或不是對象JS 文件名異常所在行發(fā)生異常的瀏覽器堆棧信息:必要的時候需要函數(shù)調(diào)用的堆棧信息,但是注意堆棧信息可能會比較大,需要截取2.5 其它數(shù)據(jù)除了上面提到的 4 類基本的數(shù)據(jù)統(tǒng)計需求,我們當(dāng)然還可以根據(jù)實際情況來定義一些其他的統(tǒng)計需求,如用戶瀏覽器對 canvas 的支持程度, 再比如比較特殊的-用戶進(jìn)行輪播圖翻頁的次數(shù),這些數(shù)據(jù)統(tǒng)計需求都是前端能夠滿足的,每一項統(tǒng)計的結(jié)果都體現(xiàn)了前端數(shù)據(jù)的價值webfunny前端埋點系統(tǒng)具備純私有化部署,自主掌控數(shù)據(jù)安全性、個性化、私密性。
搭建前端監(jiān)控系統(tǒng)(五)消息隊列處理并發(fā):1、增加日志上傳的時間間隔前端程序員應(yīng)該都知道,日志上傳的時間間隔越長,用戶在這個間隔內(nèi)離開的幾率就會越大,日志的漏傳量就會增加,然后會導(dǎo)致日志的準(zhǔn)確度降低。因為我們的探針是安插在瀏覽器內(nèi)的,用戶隨時都有可能關(guān)掉,所以,理論上講間隔越短越好,但這并不現(xiàn)實。所以這個需要在服務(wù)器的承受能力和日志的準(zhǔn)確率之間做個權(quán)衡。由具體情況而定2、移除探針代碼里冗余的參數(shù),縮短參數(shù)名字的長度另外一點,每臺服務(wù)器的硬盤有限,帶寬有限,如果參數(shù)名字太長,參數(shù)內(nèi)容冗余,對服務(wù)器的硬盤和帶寬都是一種極大的浪費。雖然每條日志都不起眼,但是日志起量了以后,就是會是一筆非常龐大的開銷。通過監(jiān)控來對線上的流量數(shù)據(jù)、用戶量統(tǒng)計、頁面訪問趨勢、用戶活躍量趨勢等等指標(biāo)有一個清晰直觀的了解。有哪些好用的前端監(jiān)控和前端行為分析軟件
webfunny通過對線上項目的實時分析,能讓前端工程師對線上狀況有非常直觀的了解。國內(nèi)好用的前端監(jiān)控和前端性能監(jiān)控軟件
前端程序員如何明確定位、排查前端生產(chǎn)問題?二、分析錯誤詳情通過webfunny前端監(jiān)控系統(tǒng),我們可以把線上的錯誤日志統(tǒng)計出來了,那如何解析這些錯誤日志呢。比如:解析出用戶的機(jī)型,版本,系統(tǒng)平臺,影響范圍,以及具體的錯誤位置,從而提高前端工程師解決問題的效率。方法能夠利用的功能都已經(jīng)用的差不多了,但是它真的可以幫我們定位和解決所有前端線上的問題嗎?線上能夠修復(fù)的問題,前端工程師肯定是遇到都在盡量修復(fù),但是前端線上的問題頻發(fā)。當(dāng)客服反饋一個問題,你發(fā)現(xiàn)沒有測試機(jī)型,無法復(fù)現(xiàn)用戶錯誤的時候,讓你來修復(fù)這個問題,前端只能兩眼一抹黑無能為力。所以前端監(jiān)控的建設(shè)很有必要性。國內(nèi)好用的前端監(jiān)控和前端性能監(jiān)控軟件
上海觀縱科技有限公司是一家集研發(fā)、制造、銷售為一體的****,公司位于上海市奉賢區(qū)望園南路1288弄80號1904、1909室,成立于2022-11-14。公司秉承著技術(shù)研發(fā)、客戶優(yōu)先的原則,為國內(nèi)webfunny前端監(jiān)控,webfunny前端埋點,全鏈路應(yīng)用性能監(jiān)控,Argus-IT運維監(jiān)控的產(chǎn)品發(fā)展添磚加瓦。在孜孜不倦的奮斗下,公司產(chǎn)品業(yè)務(wù)越來越廣。目前主要經(jīng)營有webfunny前端監(jiān)控,webfunny前端埋點,全鏈路應(yīng)用性能監(jiān)控,Argus-IT運維監(jiān)控等產(chǎn)品,并多次以傳媒、廣電行業(yè)標(biāo)準(zhǔn)、客戶需求定制多款多元化的產(chǎn)品。我們以客戶的需求為基礎(chǔ),在產(chǎn)品設(shè)計和研發(fā)上面苦下功夫,一份份的不懈努力和付出,打造了webfunny,walkingfunny,argus產(chǎn)品。我們從用戶角度,對每一款產(chǎn)品進(jìn)行多方面分析,對每一款產(chǎn)品都精心設(shè)計、精心制作和嚴(yán)格檢驗。上海觀縱科技有限公司以市場為導(dǎo)向,以創(chuàng)新為動力。不斷提升管理水平及webfunny前端監(jiān)控,webfunny前端埋點,全鏈路應(yīng)用性能監(jiān)控,Argus-IT運維監(jiān)控產(chǎn)品質(zhì)量。本公司以良好的商品品質(zhì)、誠信的經(jīng)營理念期待您的到來!