火山引擎 MARS-APMPlus X 美篇 | 形成应用性能全面监控,大幅提升APP稳定性

火山引擎MARS- APMPlus专栏—— iOS Heimdallr 卡死卡顿监控方案与优化之路 本文主要介绍Heimdallr对卡死、卡顿异常的监控原理,并结合长时间的业务沉淀发现的问题进行不断迭代和优化,逐步实现全面、稳定、可靠的历程。 阅读详情

在这里插入图片描述

本文主要介绍了美篇 App 通过使用火山引擎 APMPlus ,使应用性能的稳定性大幅提升的技术实践。 2月24日晚 MARS TALK 直播间,我们邀请了火山引擎 APMPlus 和美篇的研发工程师,为大家分享相关技术方案及实现细节。现在报名加入活动群 还有机会获得VR一体机——Pico Neo3哦!

一、「美篇」业务场景

美篇是南京蓝鲸人网络科技有限公司的主要产品,主打朋友圈的图文创作分享,定位为“不惑后”表达自我、结交同好、学习提升的互联网内容社区。
在这里插入图片描述

「美篇」业务规模:

自2015年7月正式上线以来,累计注册用户2亿,累计创作用户4000万 ,APP月活跃用户1200万, 日新增作品18万。 成立至今获得腾讯双百计划、经纬创投、真格基金、芒果文创基金等一线投资机构多轮累计1.8亿元融资,估值10亿元。2021年10月,美篇APP 7.0发布。

二、「美篇」业务痛点及问题

「美篇」业务现状形成的痛点
用户量快速增长:用户规模快速增长,创作用户突破4000万
海量内容沉淀:美篇作为一个强大的兴趣内容社区,拥有海量UGC图文&视频内容沉淀
多产品功能上线:话题热榜、线上课堂、笔友书信等内容
这些原因使应用平台承载信息量大幅上升,导致应用程序运行难度加大,稳定性受到威胁。

「美篇」遇到的问题及挑战
对于移动 App 的开发者来说,最基础也是最关注的问题就是应用程序的稳定性及用户体验。而崩溃问题和卡顿是影响应用稳定性及用户体验的关键因素。包括Java 崩溃、Native崩溃、 ANR ,卡顿等问题类型。 随着美篇产品功能的丰富及用户量的快速增长,OOM 及卡顿问题的优化和处理也日益重要。

三、MARS-APMPlus 的解决方案

产品优势

APMPlus是火山引擎应用开发套件MARS下的性能监控产品,通过先进的数据采集与监控技术,为企业提供全链路的应用性能监控服务,助力企业提升异常问题排查与解决的效率

基于海量数据的聚合分析,平台可帮助客户发现多类异常问题,并及时报警,做分配处理,同时平台提供了丰富的归因能力,包括且不限于异常分析、多维分析、自定义上报、单点日志查询等,结合灵活的报表能力可了解各类指标的趋势变化。APM Plus 应用性能监控已服务了抖音、今日头条等多个超大规模用户量级移动 App。

「美篇」解决方案简介

针对美篇 App的稳定性问题我们提供了Java 崩溃、Native崩溃、 ANR 等不同的异常类别监控,抓取成功率高,归因异常丰富。针对性能,我们提供了启动监控,页面监控,卡顿监控等流畅性类的监控,还有内存,CPU,电量等资源消耗问题的监控。同时提供网络耗时和异常监控,以及强大的单点分析和日志回捞能力分析单点问题。拥有事件自定义上报进行个性的打点监控,强大的看板进行多维度展示。数据采集提供采样和开关配置满足用户对数据量和成本的诉求,同时提供基础的报警能力对异常问题实时报警。针对跨平台方案提供WebView页面和Flutter监控。丰富的能力满足客户对App 全面性能监控 的诉求。

方案亮点

Java OOM监控提供全流程自动分析能力,准确定位Java内存问题。泄漏链、泄漏大小一目了然
ANR使用基于信号的捕获方案,更节省系统资源,准确度高,唯一做到提供现场消息调度图,高度还原现场主线程阻塞情况
做到真正解决Native(C/C++)崩溃的现场还原能力,提供了最有价值的Tombstone,精细还原现场。完整展示崩溃线程的进程信息,信号信息,寄存器信息,还原崩溃现场汇编指令,详细的maps,fd和内存信息
提供了高性能日志库,做到数据稳定性强、性能好,保障了现场业务信息的高度还原

四、实施效果

通过使用MARS-APMPlus 应用性能监控产品,并采用上述解决方案实施后,效果非常明显,应用程序的性能稳定得到了显著提升

卡顿下降:
在这里插入图片描述
OOM下降:
在这里插入图片描述

  • Android Java OOM降低了80%以上,从8月份的1.5%降低到12月底的0.1%

  • Android用户卡顿率降低了80%以上,Android用户卡顿率从8月份的11%降低到12月底的2%

  • iOS OOM 降低了 80%+,从 8 月份的 1.3% 降低到 12 月份的 0.2%

  • iOS 卡顿率降低了 90%+,从 8 月份的 1.1% 降低到 12 月份的 0.1%


更多技术实践细节 欢迎锁定 MARS TALK 04期直播间! 届时我们邀请了火山引擎 APMPlus 研发工程师王涛讲师和美篇研发工程师叶弯弯讲师,在线为大家分享**「APMPlus 基于 Hprof 文件的 Java OOM 归因方案」「美篇基于MARS-APMPlus 性能监控工具的优化实践」**等技术干货。

⏰ 直播时间:2月24日(周四) 20:00-21:30
💡 活动形式:线上直播
🙋 报名方式:扫描下方二维码进群参与报名
在这里插入图片描述
作为开年首期MARS TALK,本次我们准备了最新版VR一体机 —— Pico Neo3作为礼物送给大家,除此之外还有罗技M720蓝牙鼠标、筋膜枪及字节周边礼品等你来拿。走过路过 千万不要错过哟!
在这里插入图片描述

👉 点击这里,了解APMPlus

使用火山引擎 APMPlus 解决抖音Top 1 Java 崩溃的通用优化方案 问题是在 App 进程向 system_server 进程发送 Activity.onSaveInstanceState 保存的 Bundle 数据时,驱动层在 system_server 的 Binder 接收缓冲区(大小上限 1M-8K)中分配不出用于接收 Bundle 大小的内存,导致 Binder 发送失败Bundle 数据用于 Activity 页面销毁重建时恢复页面状态,其来源包含 framework 和 App 层保存的数据。当页面过于复杂或者很重场景下可能会出现超限问题。 阅读详情

相关推荐

火山引擎 RTC 视频性能降级策略解析

动手点关注干货不迷路1. 背景随着 RTC 使用场景的不断复杂化,新特性不断增多,同时用户对清晰度提升的诉求也越来越强烈,这些都对客户端机器性能提出了越来越高的要求 (越来越高的分辨率,越来越复杂的编码器等)。但机器性能差异千差万别,同时用户的操作也不可预知,高级特性的使用和机器性能的矛盾客观存在。当用户机器负载过高时,我们需要适当降级视频特性来减轻系统复杂性,确保重要功能正常使用,提升用户体验...

字节跳动技术团队官方博客 4759

APMPlus 发布 HarmonyOS NEXT 鸿蒙系统 App 性能监控

APMPlus火山引擎应用性能监控全链路版 App 监控)全新推出 HarmonyOS NEXT “鸿蒙星河版”App 性能监控服务,致力于为鸿蒙星河版 APP 用户提供优质的使用体验。我们积极携手鸿蒙星河版生态建设,更是荣幸地成为 DevEco Studio Partner SDK 专区首款 Performance Monitoring 类型 SDK。在此,我们诚邀对鸿蒙星河版 App 性能监控有诉求的企业接入并使用我们的服务。

ma_dewei的博客 712

GTC 火山引擎线上专场 | 解码字节跳动多场景技术内核及应用

活动简介12 月 19 日,GTC 智能增长技术专场,火山引擎将以「智能增长」为主题,为大家带来字节跳动在机器学习领域沉淀的技术经验,智能平台、数据智能、语音识别、联邦学习等场景的前沿应...

字节跳动技术团队官方博客 1万+

使用火山引擎 APMPlus 优化 iOS 内存性能的全套指南

本文面向 iOS 研发,不会涉及复杂的底层原理,而是直接告诉 iOS 研发答案,即怎么做,只需要花半小时阅读本文,就可以在开发需求的时候,知道如何更好利用内存来提升用户体验,同时避免稳定性相关问题给业务带来负向的用户体验;同时本文作者的初心是希望这文章能成为研发同学的一个“字典”,在一些特定场景或者感觉可能会踩内存坑的时候可以翻阅,快速找到最佳的编码规范。

字节跳动云原生计算官方账号 1592

CloudWeGo + APMPlus:打造从开发到可观测的一站式体验

Kitex 是 Golang 微服务 RPC 框架,具有 高性能 、 高可扩展 的特点,支持多消息协议(Thrift/Protobuf/gRPC)、多消息类型(PingPong/Oneway/Streaming)、服务治理、代码生成,具有完备的开源社区生态兼容性。数据分散 、 链路追踪复杂 和 故障传播 三大挑战。作为 CloudWeGo 生态中的最新成员,Eino 的开源进一步扩展了 CloudWeGo 的生态边界,使其不仅适用于传统的微服务场景,还能够赋能大模型驱动的智能化应用开发。

volcenginetod的博客 1463

APMPlus:重新定义 AI 时代的全景全栈观测

在人工智能浪潮席卷千行百业的今天,大型语言模型(LLM)正以前所未有的深度重塑应用架构。然而,这种技术变革也带来了新的运维挑战。现代 AI 应用,尤其是基于 LLM 的应用,其内部结构日益复杂,往往由多个业务服务、AI 框架和模型调用链交织而成,形成了一个难以捉摸的“黑盒”。大模型推理结果的随机性让传统的确定性监控失效Token 消耗波动、推理延迟抖动、会话上下文丢失等问题频发智能体决策链路复杂,问题溯源如同在迷宫中寻路从用户输入到智能体决策,再到模型推理,链路跨越多个系统边界。

volcenginetod的博客 880

火山引擎MARS-APM Plus x 飞书 |降低线上OOM,提高App性能稳定性

通过使用火山引擎MARS-APM Plus的memory graph功能,飞书研发团队有效分析定位问题线上case多达30例,线上OOM率降低到了0.8‰,降幅达到60%。大幅提升了用户体验,为飞书的性能品质保驾护航。 应用程序稳定性是影响用户体验及留存的关键因素 对于移动App的开发者来说,最基础也是最关注的问题就是应用程序的稳定性。而崩溃问题是影响稳定性的重要因素, 包括NSException、Signal、卡死、OOM(Out Of Memory)等问题类型。其中,OOM问题是随着业务的迭代,慢慢.

YZcoder的博客 1442

火山引擎推出一站式小程序监控方案

火山引擎 APM 团队打造出一站式小程序监控平台,旨在为开发者提供可跨平台、监控能力完善、简单易用的小程序监控服务。

YZcoder的博客 1342

构建满足流批数据质量监控火山引擎DataLeap

面对今日头条、抖音等不同产品线的复杂数据质量场景,火山引擎 DataLeap 数据质量平台如何满足多样的需求?

m0_60025795的博客 431

Android开发揭秘!View的这些基础知识你必须要知道,已开源

开头 都说今年的形势不好,各种找工作不顺利,但我身边就有一位同学,每次面试都拿到了offer,我特意邀请他来给大家分享下经验,虽然不同人的技术领域未必相同,但很多东西是相通的,希望本文能对大家有所帮助。 展望未来 操作系统 移动操作系统的演变过程,从按键交互的塞班功能机到触摸屏交互的Android/IOS智能机,从小屏幕手机到全面屏、刘海屏、水滴屏。任何系统无非干两件事:输入和输出,接收到外部输入信号后经过操作系统处理后输出信息。 从按键式交互到触屏式交互,伴随着塞班系统到Android系统的转变。未来的交

m0_59132545的博客 153

提升汽车APP用户体验,火山引擎APMPlus的“独家秘笈”

火山引擎 APMPlus 为企业提供全链路应用性能监控服务。

YZcoder的博客 867

二本学渣考研失败,移动APP开发框架盘点,含小米、腾讯、阿里

前言 Hi~,我是 2020 届物联网专业毕业生,现就读于杭州。谨以此文来记录我的秋招以及入门前端以来的学习历程,如有错误,希望大家能及时提出! 面试情况 前前后后一共面试了 14 家公司的前端岗,按城市划分为: 北京:小米,京东,团,百度,去哪儿 杭州:阿里,网易,微店,字节跳动 上海:七牛云,哈啰出行 深圳:腾讯,富途,乐信 历时4个月,最终收获了 小米、京东、微店、字节跳动 的offer 展望未来 操作系统 移动操作系统的演变过程,从按键交互的塞班功能机到触摸屏交互的Android/IOS智

fanzhang_vip0723的博客 894

微信mars学习笔记

微信的Mars网络框架是2016年12月28号开源的。 前一段时间开始对其进行了连续的学习和了解。 一、主要的学习资料如下: 1. 微信公众号的文章: 2017.01.10 微信Mars——移动互联网下的高质量网络连接探索(周志杰) http://www.infoq.com/cn/presentations/wechat-mars-high-quality-network-con

chwnpp2的专栏 1万+

APM 介绍

APM 全称 Application Performance Management & Monitoring (应用性能管理/监控) 原理 Android APM 的原理其实非常简单,用一句话总结就是: 依据打包原理,在 class 转换为 dex 的过程中,调用 gradle transform api 遍历 class 文件,借助 Javassist、ASM 等框架修改字节码,插...

qq_33994844的博客 2958

基于MARS的移动APP网络通信开发实践

Mars简介 MARS作为优秀的跨平台网络层通信方案开源1年多了,github上收获过万的star,期间较为稳定更新并不频繁。基于内核socket MARS针对弱网络环境下的移动应用做了很多比较实用的优化,详细的优化点和原理在其开源项目的wiki里有很多文档说的比较清楚了Mars wiki。本人刚好参与了多款具有IM功能的应用开发,底层网...

weixin_34417814的博客 2550

apm性能监控系统,字节跳动Android三面凉凉,再不刷题就晚了!

前言 今天来跟大家分享TIM最强保活思路的几种实现方法。这文章我将通过ioctl跟binder驱动交互,实现以最快的方式唤醒新的保活服务,最大程度防止保活失败。同时,我也将跟您分享,我是怎么做到在不甚了解binder的情况下,快速实现ioctl binder这种高级操作。 声明:现在这个保活方式在MIUI等定制Android系统中已经不能保活,大部分时候只能活在模拟器中了。但对与我们的轻量定制的Android系统,一些系统级应用的保活,这个方案还是有用的。 随着Android阵营的各大手机厂商对于续航的高

m0_56004877的博客 1648

MARS

MARS(Monitoring Analysis and Response System),思科® 安全监控分析和响应系统(MARS)是一个高性能、可扩展的威胁管理、监控和防御设备系列,将传统安全事件监控与网络智能、上下文关联、因素分析、异常流量检测、热点识别和自动防御功能相结合,可帮助客户更为高效地使用网络和安全设备。通过结合这些功能,思科安全MARS可帮助公司准确识别和消除网络攻击,且保持网络的安全策略符合性。

软件开发大神 808
上一篇: TCP长连接实践与挑战
下一篇: 让工程师拥有一台“超级”计算机——字节跳动客户端编译加速方案
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值