5月28日--29日,"2021阿裡雲峰會暨阿裡雲開發者大會"在北京國家會議中心舉行,此次峰會以“雲上創新”為主題,阿裡雲與衆多嘉賓、合作夥伴共同探讨了企業數字創新的新思路、新政策、新産品、新方案,展開“雲上創新”的全景圖。會上,友盟+進階技術專家李成亮帶來了“如何保證移動應用穩定性”這一議題的分享。
不同于其他嘉賓所置身的服務端釋出、代碼管理等領域,李成亮的關注點更多在于如何幫助手機上的App“維穩”,讓這些應用避免發生崩潰、卡死等問題。

(圖為:友盟+進階技術專家 李成亮)
李成亮表示,目前大部分的App應用,在穩定性上做的還遠遠不夠。前不久,友盟+釋出了《2021Q1,友盟+移動應用性能體驗白皮書》。根據白皮書資料,移動應用整體的崩潰率是0.29%。但是,李成亮認為,一個應用的崩潰率達到千分之一才是及格的水準,目前大部分應用在降低崩潰率的道路上仍然道阻且長。
不止如此,從另一個角度來看,DAU越大的應用,崩潰率反而越低:DAU大于100萬的應用,崩潰率是低于平均水準的,反之,DAU在1萬到100萬區間的應用,崩潰率則高于平均水準。
“這就說明,越是頭部的大公司,越有資源、有技術做移動應用性能相關的治理,而一些普通的公司在這方面既有迫切的需求,又需要提升相關的能力。”李成亮感慨道。
面對各行各業存在的應用崩潰問題,友盟+緻力于賦能開發者、幫助客戶“維穩”、增長。截止2020年6月,友盟+服務了200萬+ App、890萬+網站,在行業十年如一日的深耕中,形成了一流的技術研發能力。
應用性能穩定是良好使用者體驗中非常關鍵的一環,而現實情況卻是應用崩潰、卡頓、加載緩慢、頁面白屏等問題,頻頻出現在使用者的真實體驗之中,成為影響業務表現的直接殺手。那麼,李成亮團隊是如何為開發者賦能、解決崩潰等影響應用性能穩定的問題呢?
移動應用性能監控平台:從監控、告警、分析,到提供解決方案、驗證的一條龍服務
事實上,應用崩潰率居高不下的根本原因,在于穩定性問題的不可控:盡管開發者在研發到上線的整個過程中做了很多努力,仍然沒有辦法避免應用上線後在穩定性方面出現各式各樣的問題。
“在研發階段,工程師大多比較注重功能的開發,不一定會考慮到應用的穩定性因素;在測試階段,又面臨着測試用例覆寫不全等棘手的問題,尤其是對一些極限或邊緣的case考慮較少;在灰階階段,又存在灰階樣本不足等問題;而到了全量上線階段,又會發現終端使用者的使用環境複雜多變。總之,上線後仍然存在着各式各樣、意想不到的複雜問題。”李成亮總結。
那麼,如何發現并解決這些問題?在調研了業界的諸多企業及解決方案後,李成亮及團隊研發了友盟+移動應用性能監控平台U-APM。
首先,移動應用性能監控平台U-APM可以對應用崩潰、錯誤進行實時的監控和分析,也能夠對遊戲引擎崩潰,卡頓等狀況進行分析。未來,平台也會支援對頁面、網絡、記憶體等方面進行分析,能夠讓使用者全面了解目前的應用性能的狀況。
其次,U-APM平台還有智能告警這一功能:當應用出現問題的時候,會第一時間收到告警,進而讓使用者快速分析,快速定位。移動應用性能監控平台支援多個緯度的分析,包括單個裝置、全鍊路、甚至應用整個生命周期的狀況的分析。
不止如此,U-APM平台還可以進行智能診斷,在發現問題後,還會給出一些解決問題的方案、方法。最後,U-APM平台還提供雲真機功能,支援開發者對崩潰問題進行複現、驗證。為移動開發者提供了靈活地測試操作界面,支援ADB調試、WEB遠端調試、掃碼、抓包、虛拟定位等測試功能,并提供了測試報告供開發者後續檢視。可以說,移動應用性能監控平台U-APM完整地建構了一個從監控到報警、到分析原因,再到給出解決方案,最後針對問題做複現和驗證的全鍊路閉環能力。
業務能力領先業界:細數移動應用性能監控平台的技術特點
首先,友盟+移動應用性能監控平台U-APM具有實時、全面監控應用崩潰的能力。除了正常的應用崩潰以外,極限條件下的崩潰,平台也能捕獲到。
“比如說安卓手機第三方ROM的相容性導緻應用出問題、或者應用中的某些元件直接調用exit(0)、記憶體發生OOM、應用被系統強制殺死等情況,我們都能捕獲到。另外對于手機的一些硬體問題,比如溫度過熱導緻系統被殺死等情況,也能捕獲。”李成亮舉例道。
第二大特點是U-APM對ANR的捕獲能力業界領先。
李成亮表示,傳統方案主要是通過監控手機上的日志來監控,但傳統方案實際上是有些問題的。一大問題就是如果日志生成出問題,則捕獲不到ANR;還有一個問題是監控時可能ANR的場景已經發生完了,生成日志所處的環境實際上已經靠後,就有可能錯過了ANR的真正發生的時期。
而友盟+的方案實際上是直接截獲了系統層SIGQUIT信号:如圖所示,藍色的是平台建構的信号攔截器,綠色的是系統攔截器,橙色的是平台的鍊路,黃色是系統鍊路。在發生ANR的時候,平台直接攔截到了這個信号,平台攔截器截獲信号後調用系統Trace子產品,生成有時效性的日志。
“值得一提的是,在這個過程中我們還加入很多額外的資訊,我們生成的日志比系統的Trace還要更加豐富。”李成亮表示。一系列操作下來,平台就會很好地捕獲ANR發生的時間點,更準确的生成日志資訊。
第三大特點就是上述提到的智能診斷功能。作為開發者,當你遇到一個問題的時候,很大機率上,這個問題已經被别人遇到過、解決過了。我們往往就把錯誤的提示拿到網上搜尋,看看有什麼解決方案。
具體說來,監控平台把市面上常見的一些移動端的問題做了梳理,形成上百個案例。這樣,開發者在背景檢視錯誤資訊的時候,就能夠看到錯誤資訊對應的解決方案,以及這個解決方案的優點和弊端。與此同時,方案知識庫也在不斷更新、發展,與時俱進。
第四大特點是雲真機子產品的優越性:機型全面,功能強大。
“目前,雲真機平台上有130多款主流的機型,我們做移動端測試的時候,不可能買那麼多手機做測試,然而現實中常常會出現某個機型獨有、其他機型沒有的問題。是以這個時候,我們首先想到的就是在同樣機型上把問題複現出來。”
雲真機除了可以幫助使用者做應用問題排查以外,還支援網絡抓包、頁面的調試、ADB遠端調試等功能。值得一提的是,目前市面上雲真機都是按照時間來收費且計費昂貴,而友盟+的雲真機提供了很多免費時長給開發者使用。
第五大特點是智能告警功能,使用者可以靈活的制定告警規則,設定很多告警的條件,比如發生某一類型的錯誤、錯誤次數滿足某種規則、在某些版本上發生等等,滿足這些條件以後,在某個設定的時間觸達開發者。
平台支援的告警管道也很多,如釘釘、飛書、企業微信等,一旦線上發生問題,可以通過這些手機軟體及時獲得問題告警的通知。
“在服務開發者的過程中,很多開發者自己也有業務背景,希望把友盟+的資料導入到開發者自己的業務系統中去。為了滿足這個需求,我們可以通過SDK采集資料名額,然後針對這些名額做處理、計算、解析,再把最終的結果資料通過API的方式發給客戶的平台。”李成亮介紹了U-APM平台的開放能力。
由此,客戶可以在自己的業務平台上完成資訊的流轉和處理,達到降本增效的效果。
戮力同心、力争上遊:友盟+攜手阿裡雲,賦能更多開發者
千人同心,則得千人之力。在服務開發者、賦能開發者的使命和目标上,友盟+跟阿裡雲是一緻的。是以,友盟+和阿裡雲有着諸多合作,二者共同在“服務開發者”這一願景上強強聯手。
雖然移動應用性能監控U-APM平台是友盟+開發的,但實際上,許多底層技術都離不開阿裡體系的技術助力,同時,這套應用性能監控技術也服務着阿裡體系内部的衆多App。
在開發者服務方面,友盟+的應用性能監控平台U-APM已經服務了上萬家的客戶,如唱吧、什麼值得買、中華萬年曆等。
“客戶其實有很多痛點,比如監控服務不穩定,監控名額不全面,報警方式不智能等等。我們的平台都會針對客戶的痛點,解決他們遇到的問題,同時立足于他們的訴求,去提供更多更細的服務,得到了客戶非常好的回報與評價。”李成亮表示。
不忘初心,方得始終。長期以來,友盟+以“資料智能,驅動業務增長”為使命,基于技術與算法能力,結合全域資料資源,通過AI賦能的一站式網際網路資料産品與服務體系,在幫助企業實作深度使用者洞察、實時業務決策和持續業務增長等方面,全面助力開發者成功。