服务项目 |
腾讯客户端性能分析,APP性能监测,性能测试,腾讯云 |
面向地区 |
您渴望客户端 App 的性能更吗?使用 QAPM(Quick Application Performance Monitor),几乎零成本的搭建 App 性能测试与全网监控。我们拥有如下四大优势:
QAPM,唯快不破,助您达成 App 性能优化成果。
当您想要优化卡慢问题时,可以从 IO、内存换页、CPU、流量等维度下手。
当您想要优化 Out of memory 问题时,可以从内存占用、内存换页的维度下手。
当您想要优化电量问题时,可以从 CPU、流量的维度下手。
目前 QAPM 处于免费内测试用的阶段。
QAPM 为您提供若干核心指标,对性能分析定位起到关键的作用。
I/O 量对 App 卡慢有至关重要的影响,甚至比 CPU 更重要,无论在什么操作系统中(Android/iOS/Windows 等)。甚至 iOS 中频繁 I/O 可能导致 App 闪退。磁盘中随机 I/O 影响大,固态硬盘或 Flash 芯片中写入放大效应影响大。QAPM 提供分析工具,协助您降低 I/O 字节数和 I/O 次数,避免主线程 I/O 或 SQLite 全表扫描等。
App 内存占用太多时,轻度时导致卡慢,严重时导致崩溃或闪退。特别是 Android/iOS 没有虚拟内存的设计,内存是非常的资源。
CPU 周期,适合于衡量 CPU 的计算量。操作系统的个别版本对 CPU 占用率的输出存在 bug,故推荐您改用 CPU 周期,以获得更准确的度量结果。
腾讯客户端性能分析是一款定位检测 App 应用性能的 SDK,其简单易用并能提供多维度检测及分析,只需简单的调用几个接口,就能对 App 进行的性能检测。
App 端接入 QAPM 后,QAPM 会自动抓取相关性能数据并上报到后台,后台会结合专项长期测试经验中抽取的规则进行分析,自动分析出各维度存在可疑的性能缺陷。同时,也可以结合 Web 和邮件查看相关的报表数据,可用于和历史版本或基准做对比。
在 App 的功能基本成型后,会有关于卡顿、慢、假死等用户投诉。然而腾讯的某些组件,优化到比操作系统 API 更快。QAPM 不仅能定位主线程上的直接原因,还更重视 IO、SQLite、内存、GC/页错误、流量等的根本原因,促进性能全面优化。
当 App 出现闪退的情况时,如果是以 Out of memory 为主因,开发团队在优化它时会遇到较大的问题。然而 QAPM 提供了内存触顶分析能力,以复用内存、零泄漏为目标,可以解决这个难题。
当用户投诉手机发烫,耗电量太大时,QAPM 能定位到常见的耗电代码(例如,长时点亮屏幕等动作)。同时 QAPM 还会分析 CPU、IO、GC 等维度的开销,既能解决体验卡慢的问题,也能减少电量的消耗。
腾讯云容器服务( Tencent Kubernetes Engine )是基于原生 kubernetes 提供的以容器为核心、高度可扩展的容器管理服务。
提供安全快捷的流量分发服务,访问流量时经由 CLB 可以自动分配到云中的多台云服务器上,扩展系统的服务能力并消除单点故障。
弹性 MapReduce 结合云技术和 Hadoop、Hive、Spark、Storm 等社区开源技术,提供安全、可靠、低成本、可弹性伸缩的云端托管 Hadoop 服务。
腾讯云是基于全球广受欢迎的 HBase 打造的、可伸缩、面向列的分布式存储系统,完全兼容 HBase 协议。
云数据库 CynosDB 是腾讯云自研的新一代、高可用的企业级云数据库。云原生的数据库架构将传统数据库与云计算的优势相结合,完全兼容 MySQL 和 PostgreSQL。
腾讯云 Elasticsearch Service 是基于开源搜索引擎 Elasticsearch 打造的高可用、可伸缩的云端全托管的 Elasticsearch 服务。
由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。
文件存储(Cloud File Storage)提供安全可靠、可扩展的共享文件存储服务。
精细的度量标准
性能优化效果的好坏需要准确的衡量方式,QAPM 依据 Facebook 卡顿度量方案,创造出掉帧率这种卡顿指标的概念,原理是对两帧(Frame)的刷新时间间隔大于16.7ms的情况,分时间间隔区间进行计数,从而更细粒度地发现卡顿情况,捕捉到更多偶现的性能问题。在给您提供优化效果的量化数据的同时,还能帮助您发现很多容易被漏掉的性能问题。
大幅的性能提升
为了更方便的解决性能问题,分析时需要采集当时卡顿场景的堆栈,但当时业界的采集堆栈的性能损耗在百毫秒级,对性能影响的成本较高,远远达不到低损耗需求,经过 QAPM 团队1年多的研究,不断的降低堆栈采集的性能消耗,把 CPU 消耗从之前业界每次采集的百毫秒优化到0.2毫秒,提升了500倍的性能。
使用结合 X5 内核的页面性能分析平台方案“伦琴”,通过浏览器内核层接口收集在页面加载过程中详细数据,提供全面的性能分析报告,清晰明了的任务执行结果、详细性能数据以及多维度图表展示。
在大部分情况下很多 iOS App 的 Crash 率都不能反应真实的情况,因为 Sigkill 都是没有被统计的。QAPM 统计完整的 Crash 率进行上报,还提供了一定的分析能力。以往实践中在手机 App 上效果很显著,让手机 App 的 Crash 率下降了50%以上。
结合强大的 X5 内核浏览器引擎,优化升级 Web 体验,提供安全稳定又高速的 Web 服务,在确保的同时,还能数据上报准确,定位更。
基于堆栈,我们在 iOS 与 Android 的 SDK 之中,构建覆盖各种性能问题的定位能力。分析数据定位如果靠开发人力去完成,那遇到涉及上百人团队的 App 时任务量就相当庞大,耗时耗力,QAPM 构建了覆盖各类性能问题的堆栈,可达到快速准确定位各类问题的目的,大幅提高分析效率。
I/O 监控及电量监控功能是性能监控中容易被忽略的地方,但事实证明其中有大量潜在的性能问题。许多产品在接入 QAPM 后,发现了很多隐藏的耗电问题及磁盘性能问题,通过有效的数据分析针对性进行解决,真实地提升了数据库 I/O 的性能。
除提供监控功能、定位分析功能外,QAPM 还能提供解决方案。从手机 等数亿级用户量的项目中孕育出来的 QAPM,数年的经验使我们沉淀了一些真正解决性能问题的推荐代码实现,这些实战出来的解决方案或许能给您提供一些有效参考。
QAPM 结合另一工具 NewMonkey,全自动侦查缺陷,在卡顿、内存、耗电、磁盘测试实现零人力。如下图内存测试场景,QAPM 在研发流程内 NewMonkey,从人工发现内存泄漏,到全自动侦查,在研发流程外通过用户执行,也可以帮助发现内存泄漏的问题。终我们在多个项目做到了零人力投入内存测试,一年累计有效缺陷高达6K。
对于监控不同的数据,我们提供了相对应的合适的展示形式,运营人员可通过数据及多功能图表提供的详细信息便捷地进行业务决策。您可以选择多种不同维度组合的图表来查看数据,以及添加查询条件来筛选需要的数据,能更直观准确地获取您想要的信息。
快速定位问题点进行上报,开发人员及时修复,减少用户投诉,增加留存率。各类问题被触发后,及时进行上报,开发获取相关问题信息,在更多用户接触到差体验而投诉之前修复好,能有效降低用户投诉,优化使用体验,减少因性能问题流失的用户量。
卡顿个例聚类,节省开发人员检查步骤,缩短处理时间,提升整体效率。为上报隔离中的卡顿问题,防止逐条上报导致重复信息干扰,增加不必要的工作量,我们通过抽取关键应用层堆栈函数进行聚合,能够展示这些函数的触发次数和函数耗时情况,以帮助项目快速发现问题进行优化。