案例背景:
“登錄耗時”是開發(fā)者需要關(guān)注的用戶體驗關(guān)鍵指標之一。開發(fā)者A使用性能管理服務(wù)監(jiān)控該指標,發(fā)現(xiàn)實際問題,并及時進行了解決。以下是此案例的過程詳解:
案例詳情:
1、集成性能管理SDK
A、在項目級的build.gradle文件中,添加maven倉和classpath依賴
B、在應(yīng)用的build.gradle文件中,添加插件和SDK依賴
2、增加“登錄耗時”監(jiān)控
在登錄邏輯代碼處,調(diào)用性能管理服務(wù)API,僅添加了3行代碼,完成了“登錄耗時”指標的監(jiān)控
3、發(fā)現(xiàn)實際問題
A、開發(fā)者A在AGC的“性能管理”頁面,發(fā)現(xiàn)本月問題中存在自定義事件“登錄耗時”異常的記錄。
B、通過問題詳情識別到登錄耗時(中位值)從當天10點05分開始上升至正常值的10倍,當前仍未恢復(fù)。
4、分析問題
A、開發(fā)者A查看“登錄耗時”指標的各維度分布,發(fā)現(xiàn)“一級區(qū)域”上海市的登錄耗時明顯惡化
B、開發(fā)者A在“查看會話”中挑選一些異常耗時會話與正常耗時會話分析具體差異
C、從多個異常會話發(fā)現(xiàn)login接口網(wǎng)絡(luò)請求均出現(xiàn)異常,SSL握手;500ms,TCP建連耗時;600ms,且提供服務(wù)的SERVER_IP均為“183.6.xx.xx”,而正常的會話中不是該服務(wù)器提供服務(wù),開發(fā)者A最終確認公網(wǎng)設(shè)備“183.6.xx.xx”(主要服務(wù)上海市用戶)不穩(wěn)定導(dǎo)致本次登錄耗時指標異常
5、解決問題
開發(fā)者A解決網(wǎng)設(shè)備“183.6.xx.xx”不穩(wěn)定問題后,登錄耗時指標隨即恢復(fù)正常
案例總結(jié):
在使用APM前,定位類似問題耗時普遍在小時級以上,而使用APM后,該問題從發(fā)現(xiàn)到定位出原因,耗時不到5分鐘。在后續(xù)的工作中,開發(fā)者A養(yǎng)成了利用“應(yīng)用性能管理”服務(wù)來監(jiān)控用戶關(guān)鍵體驗指標的習(xí)慣,發(fā)現(xiàn)和解決應(yīng)用性能問題也變得很簡單。