自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

技術(shù)分享:火山引擎如何助力飛書提升APP性能

企業(yè)動態(tài)
面臨程序員同學的“痛苦”經(jīng)歷,作為 IT 管理者,是否想反手召喚一款神器,解決遠程訪問及辦公軟硬件等各種管理難題

通過使用火山引擎 MARS-APM Plus 的 memory graph 功能,飛書研發(fā)團隊有效分析定位問題線上 case 多達30例,線上 OOM 率降低到了 0.8‰,降幅達到 60%。大幅提升了用戶體驗,為飛書的性能品質(zhì)保駕護航。

1.應用程序穩(wěn)定性是影響用戶體驗及留存的關(guān)鍵因素

對于移動 App 的開發(fā)者來說,最基礎也是最關(guān)注的問題就是應用程序的穩(wěn)定性。而崩潰問題是影響穩(wěn)定性的重要因素, 包括 NSException、Signal、卡死、OOM(Out Of Memory) 等問題類型。其中,OOM 問題是隨著業(yè)務的迭代,慢慢進入了開發(fā)者視野。

OOM 問題往往潛伏在復雜的業(yè)務背景下,復現(xiàn)困難且缺少有效的問題排查手段。目前在 iOS  端排查內(nèi)存問題的工具主要包括 Xcode 提供的 Memory Graph 和 Instruments 相關(guān)的工具集,它們能夠提供相對完備的內(nèi)存信息,但是應用場景僅限于開發(fā)環(huán)境,無法在生產(chǎn)環(huán)境使用。由于內(nèi)存問題往往發(fā)生在一些極端的使用場景,線下開發(fā)測試一般無法覆蓋對應的問題,Xcode 提供的工具無法分析處理大多數(shù)偶現(xiàn)的疑難問題。

飛書是字節(jié)跳動旗下先進企業(yè)協(xié)作與管理平臺,不僅包含一站式整合及時溝通、智能日歷、音視頻會議、飛書文檔、云盤等辦公協(xié)作套件,更提供飛書 OKR、飛書招聘、飛書績效等組織管理產(chǎn)品。作為一款企業(yè)協(xié)作與管理平臺,業(yè)務復雜度非常高,稍有不注意就會觸發(fā) OOM,導致程序崩潰。

那么飛書的業(yè)務有多復雜呢?舉例來說:

飛書消息列表頁的消息類型多達十余種,包括文檔預覽,視頻、復雜的富文本等;

飛書會議在千人視頻中可以對視頻做各種特效渲染,視頻過程能共享文檔,千人在線編輯文檔;

飛書文檔本身支持插入各種類型信息,比如復雜計算公式、腦圖、UML 圖、同時也支持外部擴展;

飛書把內(nèi)存的使用運用到了極限,稍不留意就會導致 OOM。試想一下,千人視頻會議的時候,突然間因為內(nèi)存問題導致崩潰,會議方是什么感受?給客戶發(fā)送一條復雜的消息,因為內(nèi)存問題,客戶的手機崩潰了,客戶是什么感受?基于此,解決內(nèi)存問題、分析定位線上 OOM 原因,是飛書的首要目標。

2.火山引擎MARS-APM Plus為飛書性能保駕護航

APM Plus 是字節(jié)跳動應用開發(fā)套件 MARS 下的性能監(jiān)控產(chǎn)品,通過先進的數(shù)據(jù)采集與監(jiān)控技術(shù),為企業(yè)提供全鏈路的應用性能監(jiān)控服務,解決企業(yè)對各端監(jiān)控的需求。具備非侵入式監(jiān)控、豐富的異?,F(xiàn)場還原能力,助力企業(yè)提升異常問題排查與解決的效率、優(yōu)化應用品質(zhì),以降低成本提高收入。

圖片1.png

MARS-APM Plus-功能介紹

飛書通過火山引擎 MARS-APM Plus memory graph 提供的類聚合列表,能清晰的發(fā)現(xiàn)內(nèi)存占用排名靠前的類,每一個類還可以向下鉆取到內(nèi)存節(jié)點單元,通過內(nèi)存節(jié)點單元可以查詢到節(jié)點的引用關(guān)系,順藤摸瓜,找到最開始的父節(jié)點,同時還可以逆向去看其他內(nèi)存節(jié)點單元是否也是同樣的引用關(guān)系,以此來佐證該內(nèi)存問題。通過這種分析思路,我們發(fā)現(xiàn)了超大圖問題、超多幀 gif 問題、資源預加載問題等等。

火山引擎 MARS-APM Plus 的內(nèi)存優(yōu)化分「 OOM 趨勢」、「泄露分析」、「大對象」和「單設備查詢」。

OOM 趨勢:提供了內(nèi)存泄露的指標分析。除了4個核心指標( OOM 次數(shù)、OOM率、影響用戶數(shù)、影響用戶比例)外,還提供進一步分析 OOM 的擴展指標,如:App占用內(nèi)存大小、App 占用內(nèi)存比例。

泄露分析:提供了導致泄漏的對象類型列表和詳情分析。在這里可以逐一分析那些嚴重導致內(nèi)存泄露的對象。

對象列表中:提供了占用內(nèi)存過大的大對象以及數(shù)量眾多聚合而成的小對象。以幫助研發(fā)更準確地了解內(nèi)存被哪些對象占用。

單設備查詢中:可直接分析單臺設備的內(nèi)存問題。iOS 提供了直接精準分析單臺設備的內(nèi)存引用樹、支配樹、實例等,Android 可下載查詢其原始數(shù)據(jù)。

在使用 memory graph 前,飛書線上分析手段單一,也不能給出明確的理論依據(jù),一度線上OOM 用戶影響率達到2‰,通過使用 memory graph,我們有效分析定位問題線上 case 多達 30 例,線上 OOM 率降低到了 0.8‰,降幅達到 60% 。大幅提升了用戶體驗,為飛書的性能品質(zhì)保駕護航。

3.助力企業(yè)提升IT異常問題排查與解決的效率、優(yōu)化應用品質(zhì)

APM Plus 為企業(yè)提供針對應用服務的品質(zhì)、性能以及自定義埋點 的 APM 服務?;诤A繑?shù)據(jù)的聚合分析,平臺可幫助客戶發(fā)現(xiàn)多類異常問題,并及時報警,做分配處理,同時平臺提供了豐富的歸因能力,包括且不限于異常分析、多維分析、自定義上報、單點日志查詢等,結(jié)合靈活的報表能力可了解各類指標的趨勢變化。除飛書外,APM Plus 已服務了抖音、今日頭條、Tik Tok 等多個超大規(guī)模用戶量級移動 App。

圖片2.png

火山引擎 MARS-APM Plus 的內(nèi)存監(jiān)控可定位到因內(nèi)存占用導致的異常,并提供多種排查內(nèi)存異常的指標、維度與手段:

無死角地發(fā)現(xiàn)已出現(xiàn)的內(nèi)存異常問題,有完備的歸因鏈路。不僅提供了豐富的指標可分析內(nèi)存問題并確定影響范圍,并能夠給出導致內(nèi)存異常的對象列表,還能夠分析單臺設備上具體異常節(jié)點。提供從大盤到代碼的層層遞進的歸因分析能力,極大提高研發(fā)的排查效率

提供預防內(nèi)存異常的能力。可給出有導致內(nèi)存異常風險的對象列表,可提前針對性地優(yōu)化,降低事故發(fā)生率,在影響用戶前就解決掉潛在風險。

目前,火山引擎 MARS-APM Plus 面向新用戶提供試用30 天的限時免費服務。其中包含 App 監(jiān)控、Web 監(jiān)控、Server 監(jiān)控、小程序監(jiān)控,App 監(jiān)控和 Web 監(jiān)控各500 萬條事件量, Server 與小程序監(jiān)控限時不限量。

責任編輯:張誠 來源: 互聯(lián)網(wǎng)
相關(guān)推薦
點贊
收藏

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